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

Futuro da Europa : União ou irrelevancia?

Sem uma integração mais forte, a sobrevivência da União Europeia (UE) como uma potência global relevante é um desafio significativo. A UE já enfrenta limitações devido à sua fragmentação política e à dificuldade em agir com uma só voz. Entre gigantes como os EUA, China e Rússia, aqui estão os principais obstáculos e caminhos possíveis para a sobrevivência e relevância da UE: Desafios da Fragmentação Europeia: Divisão política interna: A UE é composta por 27 estados-membros com prioridades, interesses e culturas diferentes. Essa diversidade, embora uma força em termos culturais, dificulta decisões rápidas e eficazes em áreas cruciais, como defesa e política externa. Falta de capacidade militar conjunta: Sem uma força militar unificada, a UE depende amplamente da NATO, liderada pelos EUA, para sua segurança. Isso reduz sua independência estratégica, especialmente em um mundo onde potências como a Rússia ou a China desafiam diretamente as democracias ocidentais. D...

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...