MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Comparando o MariaDB Server com o MariaDB Cluster

O MariaDB Server e o MariaDB Cluster são produtos de código aberto desenvolvidos pela MariaDB Corporation. O MariaDB Server é um dos bancos de dados relacionais mais populares, originalmente bifurcado do servidor MySQL.

O MariaDB Cluster é uma solução de alta disponibilidade construída a partir do MariaDB Server, usando uma biblioteca wsrep Galera Cluster para sincronizar os dados entre os nós. O método de replicação do Galera é síncrono (ou ‘virtualmente síncrono’), garantindo que os dados sejam os mesmos em todos os nós.

O servidor MariaDB também pode ser altamente disponível por meio de replicação padrão. A replicação pode ser assíncrona ou semi-síncrona.

Então, como o servidor MariaDB com replicação padrão difere do MariaDB Cluster com Galera Cluster? Neste blog, vamos comparar os dois. Usaremos o ClusterControl para ilustrar algumas das diferenças.

Arquitetura do Servidor MariaDB

A arquitetura do MariaDB Server pode ser uma instância única/independente ou uma replicação mestre/escravo conforme mostrado no diagrama abaixo.

A arquitetura de instância única do MariaDB Server representa apenas um nó. A desvantagem de ter uma única instância é um único ponto de falha para o banco de dados. Se seu banco de dados travar e não voltar, você não tem nenhum mecanismo de failover e precisa fazer uma restauração para recuperar seu banco de dados do último backup.

A arquitetura mestre/escravo é uma configuração distribuída, com o mestre atuando como gravador e o(s) escravo(s) como leitor(es). Usando um balanceador de carga como Maxscale ou ProxySQL, você pode dividir o tráfego do banco de dados para que as gravações sejam enviadas para o mestre e as leituras para o(s) escravo(s). Ter uma configuração de replicação eliminará um único ponto de falha para o banco de dados, mas você precisa poder fazer o failover automaticamente se o mestre falhar. Caso contrário, os aplicativos não poderão gravar no banco de dados e serão afetados. O ClusterControl pode ser configurado para fornecer failover e recuperação automáticos para replicação MariaDB.

Arquitetura de cluster MariaDB

O MariaDB Cluster é uma solução de alta disponibilidade que consiste em MariaDB Server e Galera Replication conforme mostrado no diagrama de arquitetura abaixo:

É uma replicação síncrona (“virtualmente síncrona”), todos os nós são graváveis. A replicação síncrona garante que, se as alterações ocorrerem em um dos nós galera, elas estarão disponíveis em todos os outros nós do cluster antes de serem confirmadas.

A grande diferença é que todos os nós são iguais do ponto de vista da aplicação, eles podem enviar tráfego de escrita para qualquer uma das instâncias do banco de dados. Além disso, todos os nós devem ter exatamente os mesmos dados para que não haja perda de dados em caso de falha do nó.

Implantação do MariaDB

Tanto o MariaDB Replication quanto o MariaDB Cluster podem ser implantados via ClusterControl. Ao implantar o MariaDB Server, você precisa começar escolhendo MySQL Replication, enquanto para o MariaDB Cluster, você precisa escolher MySQL Galera.

Para o MariaDB Server, você pode implantar uma instância MariaDB de nó único ou configurar a replicação mestre/escravo e bidirecional. O número mínimo de nós em uma configuração de replicação é dois, você precisa de um mestre e pelo menos um escravo. Basta preencher o endereço IP do mestre e adicionar escravos (se você quiser ter arquitetura mestre/escravo). Você pode usar o campo Adicionar segundo mestre se desejar configurar a replicação bidirecional. Uma configuração mestre-mestre será provisionada com replicação bidirecional, mas um dos nós será definido como somente leitura. O motivo é minimizar o risco de desvio de dados e 'transações errôneas'.

Para o MariaDB Cluster, você precisa de pelo menos 3 hosts para os nós do banco de dados de destino para ser instalado. Isso ocorre porque ele precisa ser capaz de lidar com o particionamento de rede ou a síndrome do “cérebro dividido”. Você só precisa preencher o endereço IP quando Add Node ao definir a configuração do MySQL Servers.

Não esqueça de escolher MariaDB como fornecedor do banco de dados, versão do banco de dados que você deseja instalar e preencher a senha de root. Você também pode alterar o datadir não padrão para qualquer outro caminho.

Depois de configurar tudo, basta implantar o cluster. Isso acionará um novo trabalho para implantação de banco de dados.

Observe que também é possível ter 2 nós Galera e um árbitro Galera também conhecido como garbd em um terceiro host.

Monitoramento de cluster e servidor MariaDB

O monitoramento do banco de dados é uma parte crítica do banco de dados, você pode conhecer o estado atual da integridade do banco de dados. A diferença entre o monitoramento do MariaDB Server e do MariaDB Cluster é o Galera Metrics para sincronização.

No MariaDB Server, você pode verificar a integridade do banco de dados atual por meio do MySQL Metrics; MySQL Server - General, MySQL Server - Caches, MySQL InnoDB Metrics que também é visível no MariaDB Cluster conforme mostrado abaixo:

MySQL Server - General fornece informações sobre o estado atual da taxa de acertos do buffer pool do InnoDB, conexão do banco de dados, consultas, bloqueio e utilização da memória do banco de dados.

Servidor MySQL - Caches, há muita informação fornecida em Caches. Principalmente relacionado ao cache no banco de dados, por exemplo:tamanho do buffer pool, instância do buffer pool. Há também informações sobre o uso do cache de tabela, taxa de acertos, acertos e erros de cache. Você também pode encontrar informações sobre o uso do cache de threads e a taxa de acertos.

Servidor MySQL - InnoDB Metrics mostra métricas relacionadas ao armazenamento InnoDB, por exemplo:atividade de bufferpool, operações de linha InnoDB, tamanho do arquivo de log InnoDB, leitura/gravação de dados InnoDB.

No MariaDB Server, se você configurar a replicação master/slave, há uma subcategoria de métricas em MySQL Replication - Master. Há informações relacionadas ao arquivo de log binário mestre, posição do log binário mestre e frequência de criação de log binário.

O MariaDB Server possui muitas informações relacionadas ao banco de dados, estas também estão disponíveis para o MariaDB Cluster. A diferença é que existem dois painéis para o MariaDB Cluster - Galera Overview e Galera Server Charts.

A visão geral do Galera fornece informações relacionadas ao estado atual da replicação do Galera. Há informações como tamanho do cluster, controle de fluxo enviado, controle de fluxo recebido, controle de fluxo pausado.

Galera Server Charts tem informações sobre nome do cluster, status do cluster, tamanho, tamanho do cache global.

Conclusão


O MariaDB Server com replicação padrão e o MariaDB Cluster não são produtos realmente diferentes em termos de serviço de banco de dados, mas possuem características diferentes dependendo de seus requisitos de disponibilidade e escalabilidade. O ClusterControl suporta o MariaDB Server com replicação padrão e implantações do MariaDB Cluster, então experimente ambas as configurações e deixe-nos saber sua opinião.