Trabalhando com o MySQL Cluster

Este artigo apresenta o MySQL Cluster de forma que você possa que entender seu funcionamento e compará-lo com outras soluções.

Fique por dentro
O MySQL Cluster é um banco de dados transacional baseado no MySQL Server que combina a flexibilidade de um banco de dados relacional ACID, interfaces SQL e NoSQL, alta disponibilidade e alto desempenho em operações de leitura e escrita.

Neste artigo apresentamos alguns conceitos fundamentais do MySQL Cluster para que você possa entender seu funcionamento, compará-lo com outras soluções (inclusive o próprio MySQL Server) e, quem sabe, utilizá-lo com sucesso em seu próximo projeto.

Em tempos onde vemos uma avalanche de novos bancos de dados, tais como o NoSQL, entender os conceitos que são base para o funcionamento e limitações de um banco de dados distribuído vai ajudá-lo a fazer melhores escolhas.

O MySQL Cluster é um banco de dados distribuído que pode ser a solução ideal para seu novo projeto, com alta disponibilidade e escalabilidade horizontal, exigindo hardwares relativamente modestos.

E o melhor, é totalmente open source e com suporte (opcional) da Oracle.

O MySQL Database, apesar de open source, foi um projeto criado e desenvolvido por uma empresa privada sueca chamada MySQL AB. A sua primeira versão estável foi lançada em janeiro de 2001.

O modelo de negócio era baseado em código aberto, sem cobrança pelo licenciamento de uso, mas com a opção de adquirir serviços de suporte e consultoria de seus criadores.

A arquitetura do produto era baseada em plug-ins e isto possibilitou a criação de um ecossistema ao seu redor, com outras empresas e contribuidores externos criando facilmente novas funcionalidades.

Um caso destas empresas do ecossistema MySQL foi a Alzato, uma spin-off da Ericsson. Seu time de engenheiros criou alguns componentes adicionais ao MySQL que o transformavam em um verdadeiro banco de dados distribuído, com todas as características que atendiam aos mais exigentes requisitos dos sistemas de infraestrutura de telefonia, conhecidos como Carrier-Grade.

O projeto, chamado de NDB (Network Database), era tão interessante que a MySQL AB adquiriu a Alzato em setembro de 2003. Com isso, o time de engenheiros da Alzato passou a fazer parte do time da MySQL AB, que melhorou o NDB e o rebatizou como MySQL Cluster.

Em 2008, a MySQL AB foi adquirida pela Sun Microsystems, que em 2010 foi adquirida pela Oracle. Hoje, o MySQL Cluster é um produto que compõe o portfólio MySQL da Oracle e continua em pleno desenvolvimento sob licenciamento GPL, ou seja, pode ser usado, modificado e redistribuído gratuitamente mantendo-se o código-fonte aberto. A Oracle também provê opcionalmente suporte técnico e ferramentas comerciais para gerenciamento do MySQL Cluster.

O MySQL Cluster é uma solução que atende muito bem alguns requisitos como disponibilidade de 99,999%, workloads transacionais (OLTP), replicação geográfica ativo-ativo, tempos de respostas consistentes da ordem de milésimos de segundo, escalabilidade praticamente linear (inclusive de escritas) e capacidade de atender dezenas de milhares de transações por segundo. Contudo, o MySQL Cluster não vai ser uma boa escolha para executar consultas analíticas (OLAP) e, por se tratar de um sistema distribuído, vai adicionar maior complexidade na implantação e administração.

Tipos de aplicações

O MySQL Cluster nasceu para atender as necessidades de aplicações de telecomunicações, mas continua em constante evolução para lidar com cargas de trabalho mais genéricas. Provavelmente, o MySQL Cluster será uma boa escolha se a carga de trabalho da sua aplicação for semelhante aos casos da Tabela 1.

"

Tipos de Aplicação

Casos de Referência

Infraestrutura de TI, Cloud e Telecom

Ericsson, Alcatel Lucent, NEC, Nokia, Telenor, Italtel, B2, Cell C, Emblacom, ip.access, M1, Register.it, CenturyLink

Mensagens, mobile publishing, news portals

SpeechDesign, Go2, Kurier, XClima, UC Berkeley, American Education Corporation

Games sociais

Jogo do Chaves para Facebook (El Chavo) da Playful Play.

Games MMO e de rede

World of Warcraft e Diablo 3 da Blizzard e FIFA da EA Sports

Transações financeiras e micro transações OLTP

Paggo, Vivo, Telefonica, Totto Loto, Cashpoint

Internet das Coisas, Monitoramento de dispositivos ou aplicações, aquisição massiva de dados

Callis, Vivid Cortex

[...] continue lendo...

Artigos relacionados