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

Eucalyptus pioneira em redes privadas de Cloud-Computing para ambientes de Virtualização VMWARE e vSphere

O Sistema Eucalyptus criado inicialmente como uma plataforma open-source de nuvem privada de computação, disponibilizou recentemente o seu primeiro produto comercial, o Eucalyptus Enterprise Edition (EEE) , que permitirá que os clientes possam implementar uma infra-estrutura em nuvem ( Cloud-Computing ), usando o "widgetry" de virtualização da VMware , incluindo o vSphere , ESX e ESXi. A plataforma Eucalyptus é hoje a única solução de computação em nuvem privada, disponível para os clientes VMware vSphere . No entanto suporta também outros hipervisores populares, como o Xen e o KVM . O Eucalyptus Enterprise Edition (EEE) representa o primeiro passo para que o Eucalyptus possa estar mais habilitado a assegurar a interoperabilidade em nuvem e que utiliza múltiplos ambientes e tecnologias de virtualização do mercado. Trata-se de uma infra-estrutura de software de fonte aberta para a aplicações em ambientes de computação em nuvem, que requerem infra-estrutura própria. Esta...

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

Serão as plataformas de virtualização os mainframes do Futuro ?

Com o advento da virtualização de sistemas operativos (tecnologia que aliás já vem dos mainframes da década de 60) e a sua recente introdução (1998) nas plataforma de hardware "commodity", como o X86 (32 e 64 bits), têm vindo a ser desbravados novos caminhos e a surgir novos paradigmas aplicados à computação distribuída. Aspectos como a escalabilidade, robustez, flexibilidade, associados a menores custos e novos critérios de optimização, levam a que a virtualização tenha surgido no seio destas plataformas de hardware como o "santo-graal", para resolver questões como a capacidade de gerir múltiplos processadores e "cores" em grande escala e sendo suportados por sistemas operativos comuns, como é o caso do Linux. Durante quatro décadas ou mais, o mainframe foi o melhor local para implementar a virtualização mas, nesse período, a definição de virtualização mudou, e a sua importância aumentou dramaticamente. Agora, a filosofia de virtualização trata principal...