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.
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 |
"
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo