Avançar para o conteúdo principal

Scale-Out Database apps através de Galera Cluster e MariaDb

MariaDB é o fork da base de dados relacional MySQL de código aberto mais popular. A comunidade MariaDB tem crescido exponencialmente nos últimos anos, e esta tornou-se a BD relacional padrão em muitas distribuições Linux e tem sido activamente promovida por algumas das maiores empresas globais do mundo.
MariaDB Galera Cluster fornece tecnologia assente em replicação síncrona multi-master. Usando o MariaDB Galera Cluster significa que seus dados estão mais seguros do que na replicação master-slave tradicional, porque estes são replicados imediatamente como parte do "commit",MariaDbLogo.png MariaDb-Robustness.jpgsemqualquer atraso. Além disso, na replicação "master-slave" tradicional, só pode efectuar "scale-out" para leitura, mas com MariaDB Galera Cluster pode ler e gravar em qualquer nó. Isso torna a vida mais fácil para os programadores, porque estes não precisam de separar transações de leitura e escrita, nas transações a submeter à BD. O seu código não precisa sequer ser alterado!
As principais características do Galera Cluster são :
Não há requisitos de failover - os nós estão todos os activos e são todos "master" nodes.
As aplicações podem ler e escrever em qualquer nó do cluster galera
Escalabilidade horizontal ( scale out ), tanto para leitura como para escrita.
  • Suporte de adição de novos nós on-line
  • Remoção de nó de forma fácil
  • Resistente a redes de alta latência, através de conexões remotas
  • Sem perda de dados!
 Usando um Load-Balancer
haproxy_galera.pngAtravés da implementação de um balanceador de carga opcional (ex. Pen, Pound, HaProxy, etc), as aplicações conectam-se a qualquer dos nós do cluster para as transsações requeridas . Quando a aplicação efectua um "commit", todos os dados alterados dentro da transação são movido para os outros nós do cluster Galera. A confirmação estará concluida apenas quando todos os nós tiverem recebido os dados. Desta forma, o impacto em termos de desempenho é muito limitado.
Quando se aconselha o uso do Cluster Galera :
  • Aplicações de missão crítica e sem perda de dados
  • 99,999% de uptime necessário
  • Não há possibilidade de alterar as aplicações, optimizando-as para leitura / escrita, para suporte de topologias de master/slave.
Como recomendação para  balanceamento de cargas num cluster Galera, podemos referir o HAProxy, pois trata-se de uma solução robusta, escalável, confiável e de elevado desempenho para HTTP e TCP. Na prática ele recebe as conexões dos utilizadores/aplicações e actua como um proxy, criando um canal entre o user e um dos servidores do cluster. Há benchmarks bem interessantes indicando desempenho de mais de 40 mil conexões por segundo, usando um hardware até já considerado ultrapassado e numa rede de 10Gbps.
Abaixo está um Diagrama desta implementação de "prova-de-conceito" e uma configuração de Galera Cluster, acedida por uma aplicação escrita em java e Javascript através do RAD WaveMaker, e que você pode testar no link que se segue:
Db4WaveCluster (user = demo e password = demo)
 galera_ClusterDb.png










O site a que acede é confiável e está no domínio da Softelabs Softelabs-smaller.gif
Para mais informações não hesite em contactar-nos através do e-mail info@softelabs.com
Por Francisco Gonçalves em 05 Nov 2013

Comentários

Mensagens populares deste blogue

Trump e a Ameaça à Democracia Americana: Até Onde Pode Ir?

Trump e a Ameaça à Democracia Americana: Até Onde Pode Ir? Desde a sua eleição em 2016, Donald Trump tem sido uma figura polarizadora na política dos Estados Unidos. Agora, em 2025, no seu segundo mandato, as preocupações sobre o futuro da democracia americana intensificaram-se. As suas ações, apoiadas por um Partido Republicano cada vez mais alinhado com o seu discurso, levantam sérias dúvidas sobre a estabilidade institucional dos EUA e o impacto global das suas políticas. O Silêncio Cúmplice do Congresso Um dos aspetos mais preocupantes deste segundo mandato de Trump é o apoio quase incondicional que recebe do Congresso e do Partido Republicano. O sistema político americano, que sempre funcionou com base no equilíbrio de poderes, parece estar a perder a sua capacidade de conter os impulsos do presidente. A comparação com a Duma russa não é descabida – o Congresso, outrora uma instituição de debate e fiscalização, tornou-se um espaço onde as decisões de Trump são aprov...

A Captura do Estado e a Ilusão da Democracia em Portugal

A Captura do Estado e a Ilusão da Democracia em Portugal 1. O Início da Degradação do Estado Após a Revolução, Portugal seguiu um caminho que, ao invés de consolidar uma democracia transparente e participativa, resultou na apropriação do Estado por uma elite política. Inicialmente, com as nacionalizações, o controlo da economia foi entregue ao "povo" – ou assim nos fizeram crer. Anos mais tarde, esse processo foi revertido por privatizações feitas à margem dos cidadãos, sem transparência e sob forte influência de interesses particulares. Desde cedo, o povo foi afastado das decisões cruciais para o país. O Estado, que deveria ser um agente do bem comum, tornou-se uma entidade hermética, funcionando como uma máquina de poder ao serviço de uma classe política que rapidamente se blindou contra qualquer escrutínio popular. 2. A Formação de uma Casta Política e a Falsa Democracia Portugal não desenvolveu uma verdadeira democracia participativa. Em vez disso, instal...

Programação de computador: Talento, Intuição ou Experiência?

Programação de computador: Talento, Intuição ou Experiência? A programação é muitas vezes vista como um jogo para os jovens. Dizem que é preciso começar cedo, que a capacidade de aprender novas tecnologias diminui com o tempo e que o mercado só valoriza quem tem 20 e poucos anos. Mas será isso verdade? A Ilusão da Juventude na Tecnologia Muitos acreditam que a programação é sobre velocidade – quem escreve mais código em menos tempo é o melhor. Mas, na realidade, os programadores mais valiosos não são os que digitam rápido, mas sim os que sabem pensar melhor. E isso não vem da juventude, mas sim da experiência . Os verdadeiros mestres da programação não são aqueles que conhecem todas as linguagens do momento, mas sim aqueles que entendem os princípios fundamentais : organização de código, arquitetura eficiente, clareza na resolução de problemas e, acima de tudo, a capacidade de evitar armadilhas antes mesmo de cair nelas. A Intuição que Vem com os Anos Desde que comec...