• Oracle Apresenta MySQL Fabric

    Com a intenção de atender às demandas de soluções inovadoras para aplicações Web e de nuvem na atualidade, a Oracle Corporation anunciou, recentemente, a disponibilidade geral do MySQL Fabric. A nova plataforma disponibilizada pela gigante dos bancos de dados, oferece um sistema integrado que torna mais simples os processos de gerenciamento de grupos de bancos de dados MySQL. Além disso, ele oferece alta disponibilidade - através da detecção de falhas e failover - e escalabilidade através de sharding de dados automatizada.

    Continuando a conduzir a inovação para a plataforma MySQL, a Oracle traz a modernidade e a disponibilidade geral do MySQL Fabric, caracterizado como um framework open source para gerenciar farms de servidores MySQL. Disponível para download a partir do endereço http://dev.mysql.com/downloads/fabric/, este sistema integrado e extensível torna ainda mais fácil escalar ou adicionar alta disponibilidade de aplicações MySQL.



    Capacidades do MySQL Fabric

    Dentre as funcionalidades incorporadas ao sistema, consta a capacidade de detecção de falha automática e failover, quando usado com MySQL Replication para alta disponibilidade, incluindo: monitoramento de banco de dados master; se o servidor falhar, MySQL Fabric seleciona um dos bancos de dados slave e poderá promovê-lo para ser o novo master. Além disso, ele traz a capacidade de roteamento automático de transações para o atual master e sistema de balanceamento de carga de consultas em bancos de dados slaves. Topologia e estado dos servidores são transparentes para a aplicação.

    Sharding automatizado de dados e o re-sharding também, irão tornar mais fácil a realização do desenvolvimento e das operações, ou DevOps, que são equipes designadas para gerenciar o processo. Isso permite aos usuários:

    - Permitir tabelas para "sharded to ara scale-out", tanto para escrita quanto para leitura; selecionar tabelas que devem ser "sharded" e especificar as colunas a serem usadas como keys de sharding, incluindo a possibilidade de usar um HASH ou RANGE com base em mapeamento. Além disso, há a possibilidade de mover shardeds existentes para novos servidores ou dividi-los em vários fragmentos.

    - Para extensões para PHP, Python e conectores Java, são permitidas transações e consultas para serem encaminhadas diretamente para o MySQL Server, eliminando a latência adicional causada pela passagem através de um proxy.

    Considerações Executivas

    "Muitos dos maiores sites do mundo e aplicativos baseados em nuvem, dependem de processos de replicação do MySQL e sharding, para oferecer alta disponibilidade e escalabilidade", disse Tomas Ulin, vice-presidente de Engenharia MySQL da Oracle. "MySQL Fabric torna alta disponibilidade com detecção de falha automática e sistema de failover, bem como a fragmentação de dados automatizado, acessível de um modo geral. Com este framework de fonte integrada e aberta, a Oracle faz com que seja mais fácil para escalar com segurança, para além das aplicações MySQL, seja "on premise" ou na nuvem.


    Sobre MySQL Fabric

    MySQL Fabric é uma estrutura bastante extensível para a realização do gerenciamento de farms de servidores MySQL. Duas características foram implementadas em seu processo de projeção - High Availability (HA) e escalabilidade usando data sharding. Esses importantes recursos podem ser usados ​​isoladamente ou mesmo em combinação entre eles.


    MySQL Fabric Resource Kit

    Ambos os recursos são implementados em duas camadas: o processo mysqlfabric, que processa todos os pedidos de gerenciamento: ao usar o recurso HA, esse processo também pode ser um grande responsável por monitorar o servidor master e iniciar o processo de "failover", com a intenção de promover um slave para que este seja o novo master, caso o primeiro venha a falhar.

    MySQL Fabric-aware connectors podem armazenar um cache de informações de roteamento, através de uma busca realizada a partir do MySQL Fabric, e em seguida, utilizar essas informações para enviar transações ou consultas para o MySQL Server apropriado.

    - MySQL Fabric provides high availability and database shading for MySQL Servers

    - MySQL Fabric provides high availability and database sharding for MySQL Servers


    High Availability

    HA Groups são formados a partir das combinações de dois ou mais servidores MySQL; a qualquer hora ou a qualquer momento, um desses servidores é o primário (master MySQL Replication) e os outros são secundários (slaves MySQL Replication). O papel de um HA Group, é para assegurar que o acesso aos dados contidos dentro de cada grupo estará sempre disponível.

    Enquanto o MySQL Replication permite que os dados tornem-se seguros por meio da duplicação que, para uma solução de HA são necessários dois componentes extra, MySQL Fabric fornece a capacidade de detecção de falhas - MySQL Fabric monitora o primário no HA Group e caso esse servidor venha a falhar, então ele escolhe um dos secundários e resolve promovê-lo a ser o principal. Além disso, existe o encaminhamento de solicitações de banco de dados - o encaminhamento de recorders para o primário e balanceamento de payloads pode ser identificado através dos slaves pois é transparente para o aplicativo, mesmo quando há mudanças consideráveis na topologia durante um processo de "failover".


    Sharding - Scaling Out

    Quando há uma aproximação da capacidade do limite de um único MySQL Server (ou grupo HA) em relação ao seu desempenho, MySQL Fabric pode ser usado para expandir os servidores de banco de dados dividindo os dados em vários "grupos" referentes ao MySQL Server. Note-se que um grupo pode conter um único servidor MySQL ou até mesmo, poderia ser um grupo HA.

    Em uma situação assim, o administrador define como os dados devem ser fragmentados entre esses servidores; indicando as colunas da tabela, eles devem ser usados ​​como chaves fragmentadas e se houver algum HASH ou intervalo de mapeamentos, deve haver uma espécie de utilização ​​para mapear as chaves para o "shard" correto. Se forem necessários mais fragmentos depois, a plataforma MySQL Fabric pode dividir os fragmentos existentes, levando em consideração que também é possível fazer uma modificação nos mesmos.


    MySQL Fabric-Aware Connectors

    Conectores MySQL Fabric-Aware estão atualmente disponíveis para Java, PHP e Python. Esses conectores buscam, automaticamente, informações de roteamento com relação ao MySQL Fabric e, em seguida, armazená-las, a fim de encaminhar consultas e transações diretamente para o MySQL Server apropriado. O aplicativo simplesmente fornece a chave sharding - sem o conhecimento da topologia do farm de servidores ou sobre o estado de qualquer servidor.

    Proxy-Free Operation

    Como as transações e consultas são encaminhadas diretamente para o MySQL Server designado, não há necessidade de uma função de proxy - fazendo com que haja uma boa economia de latência e complexidade. Além disso, não há necessidade de agentes para serem executado em qualquer um dos computadores de destino.

    Saiba Mais:

    [1] MySQL Fabric - Oracle Corporation http://www.mysql.com/products/enterprise/fabric.html