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

Uma visão geral do MariaDB Xpand (anteriormente ClustrixDB)

MariaDB Xpand é um novo produto do MariaDB. Anteriormente era conhecido como ClustrixDB, que foi adquirido em setembro de 2018 pela MariaDB Corporation.

O ClustrixDB não está mais disponível como uma entidade separada, mas agora está incluído como parte do MariaDB Enterprise Server. Agora chamado Xpand, ele estende o MariaDB Enterprise Server com dados distribuídos e processamento de transações, transformando-o em um banco de dados SQL distribuído capaz de escalar para milhões de transações por segundo com uma arquitetura sem compartilhamento. No entanto, o Xpand não é tudo ou nada, pois os DBAs podem optar por usar tabelas replicadas e distribuídas. O Xpand é bom para consultas complexas e processamento analítico, pois pode realizar consultas paralelas nos nós disponíveis no cluster.

Basicamente, o Xpand é uma arquitetura sem compartilhamento e projetada como um banco de dados SQL escalável, construído desde o início que originalmente poderia ser executado em hardware comum com redistribuição automática de dados (para que você nunca precise fragmentar ). Possui tolerância a falhas integrada, tudo acessível por uma interface SQL simples e suporte para recursos MySQL críticos de negócios (replicação, gatilhos, rotinas armazenadas, etc). Sua licença está disponível apenas como proprietária, portanto, se você deseja aproveitar este produto, deve entrar em contato com o departamento de vendas do MariaDB primeiro para adquirir uma licença válida.

Quando usar o MariaDB Xpand

O Xpand foi projetado para lidar com grandes volumes de dados e permite dimensionar seu banco de dados com mais eficiência. Isso significa que o dimensionamento do seu cluster é feito de forma fácil e automática pelo próprio Xpand. Desde o lançamento do MariaDB Platform X5, o Xpand já faz parte da plataforma fornecida aos clientes como parte da solução SQL distribuída. O mecanismo inteligente Xpand permite que os clientes escalem além do ponto ideal do mecanismo de armazenamento InnoDB de cargas de trabalho mistas de leitura/gravação de alto desempenho em um único nó com a opção de adicionar escala por meio de replicação e empregar uma solução distribuída tolerante a falhas altamente disponível para grandes dimensionar cargas de trabalho.

Com o Xpand, você tem a flexibilidade de escalar por tabela. Comece usando o Xpand para apenas uma única tabela e expanda o uso à medida que suas necessidades crescem além do que um único nó pode suportar. Aumente o uso de SQL distribuído à medida que as necessidades da sua empresa vão além da replicação ou do clustering. Quando os volumes de dados ou consultas aumentam a ponto de degradar o desempenho, você pode usar o Xpand para distribuir tabelas ou todo o banco de dados para melhorar a taxa de transferência e a simultaneidade. O Xpand possui alta disponibilidade e elasticidade integradas, para que os nós possam ser adicionados ou removidos de forma transparente conforme necessário para dimensionar.

Assim como no MariaDB ColumnStore, o mecanismo inteligente colunar, JOINs entre mecanismos são possíveis (e incentivados) entre tabelas replicadas e distribuídas. Ao contrário de outras implementações de SQL distribuído que distribuem todo o banco de dados e, portanto, têm sobrecarga significativa em tabelas menores, o MariaDB permite o uso combinado do InnoDB para pequenos conjuntos de dados replicados e conjuntos de dados distribuídos massivos via Xpand.

Infelizmente, não há documentação formal sobre o estado de mudança do ClustrixDB para o MariaDB Xpand, então você ainda pode confiar em https://docs.clustrix.com/ para obter documentação sobre como o ClustrixDB funciona. Também é sabido que o GTID não é suportado pelo ClustrixDB, embora isso possa ter mudado desde o lançamento do MariaDB 10.5.

Como funciona o MariaDB Xpand?

A implantação usando o MariaDB Xpand requer que você tenha MariaDB Enterprise Servers com o plug-in Xpand instalado, então os Xpand Nodes rodando ao lado. É semelhante ao modo como você configura a configuração de replicação do MaxScale e do MariaDB Server para alta disponibilidade e pode colocar o MaxScale no topo para gerenciar conexões e fazer failover transparente entre as instâncias do Enterprise Server de front-end com conjuntos de dados menores replicados no InnoDB. para uma melhor experiência de desempenho com o Xpand, os servidores e nós front-end devem ser executados em servidores físicos separados. Veja a arquitetura de topologia MariaDB Xpand abaixo do MariaDB sobre como isso funciona:
https://mariadb.com/resources/blog/mariadb-adds-xpand-for-distributed-sql /

Para explicar melhor acima, o Xpand divide um número de fatias para cada tabela que é construída usando o Xpand. Cada fatia é armazenada em um nó primário e então replicada para um ou mais outros nós para garantir a tolerância a falhas. Cada nó Xpand pode realizar leituras e gravações. E cada nó tem um mapa da distribuição de dados.

Para operações de leitura, a maior parte da consulta é enviada para o Xpand, onde a consulta é avaliada e as partes relevantes da consulta são enviadas para os nós Xpand apropriados. O MariaDB Enterprise Server coleta os dados de retorno dos nós Xpand para gerar um conjunto de resultados.

Para operações de gravação, o MariaDB Xpand usa um componente chamado “rebalancer” para distribuir dados de forma automática e transparente pelos nós Xpand disponíveis.

MariaDB Xpand como SQL distribuído

Cada nó Xpand é capaz de realizar leituras e gravações. Quando uma consulta é recebida pelo MariaDB Enterprise Server, ela é avaliada por um otimizador de consultas e partes da consulta são enviadas para os nós Xpand relevantes. Os resultados são coletados e um único conjunto de resultados retorna ao cliente.

MariaDB Xpand aproveita uma arquitetura sem compartilhamento; um único nó lida com cada solicitação e a memória e o armazenamento não são compartilhados.

MariaDB Xpand HA e tolerância a falhas

MariaDB Xpand é tolerante a falhas por design. O Xpand mantém duas réplicas de todos os dados usando um processo de rebalanceador que é executado em segundo plano. O Xpand pode sofrer uma falha de um único nó ou zona sem perda de dados.

Em caso de falha do nó, os dados são reequilibrados dos nós restantes, corrigindo automaticamente a proteção de dados sem intervenção. Em uma falha de zona, o rebalanceador executa a mesma operação entre os nós e as zonas restantes.

Quando o nó com falha é substituído, o rebalanceador redistribui os dados, restaurando o MariaDB Xpand para a contagem de nós pretendida.

Escalonamento horizontal com MariaDB Xpand

MariaDB Xpand é flexível por design. Se a carga no MariaDB Enterprise Server aumentar, você poderá adicionar servidores adicionais à sua implantação, balanceando a carga entre eles usando MariaDB MaxScale. Cada Servidor pode se conectar aos nós Xpand para acessar os dados armazenados nas tabelas Xpand.

Se a carga no MariaDB Xpand aumentar, você poderá expandir adicionando novos nós. Quando você adiciona um nó Xpand à implantação, o processo de rebalanceamento redistribui os dados dos nós existentes. Depois de concluído, o nó Xpand agora pode lidar com operações de leitura e gravação de MariaDB Enterprise Servers.

Se a carga no MariaDB Xpand diminuir, você pode reduzir removendo nós. Quando você remove um nó Xpand da implantação, o processo de rebalanceamento redistribui os dados para os nós restantes, garantindo a tolerância a falhas.

O que torna o MariaDB Xpand escalável?

Não há gargalos nem pontos únicos de falha. Todos os processadores são alistados no suporte ao processamento de consultas. As consultas são paralelizadas e distribuídas pelo cluster para os dados relevantes. Novos nós são reconhecidos automaticamente e incorporados ao cluster. As cargas de trabalho e os dados são balanceados automaticamente em todos os nós do cluster. O cálculo relacional SQL em todo o cluster e as propriedades ACID eliminam a complexidade de vários nós do desenvolvimento e gerenciamento de aplicativos de várias camadas. A complexidade normalmente necessária para dimensionar modelos de banco de dados existentes para lidar com grandes volumes de dados é eliminada. E à medida que seu banco de dados cresce, basta adicionar nós.

Há várias coisas que afetam a escalabilidade e o desempenho:

  • Arquitetura sem compartilhamento, que elimina possíveis gargalos. Compare isso com arquiteturas de disco compartilhado/cache compartilhado que afunilam, não escalam e são difíceis de gerenciar.
  • Paralelização de consultas, que são distribuídas ao(s) nó(s) com os dados relevantes. Os resultados são criados o mais próximo possível dos dados, depois roteados de volta ao nó solicitante para consolidação e retornados ao cliente.

Isso é muito diferente de outros sistemas, que rotineiramente movem grandes quantidades de dados para o nó que está processando a consulta e, em seguida, eliminam todos os dados que não se encaixam na consulta (normalmente muitos dados) . Ao mover apenas dados qualificados pela rede para o nó solicitante, o Xpand reduz significativamente o gargalo do tráfego de rede. Além disso, mais processadores participam do processo de seleção de dados, Ao selecionar dados em vários nós em paralelo, o sistema produz resultados mais rapidamente do que se todos os dados fossem selecionados por um único nó, que primeiro precisa coletar todos os dados necessários do outro nós no sistema.

Como cada nó se concentra em uma partição específica e envia itens de trabalho para outros nós em vez de solicitar dados brutos de outros nós, o cache de cada nó contém mais dados desse nó e menos dados redundantes de outros nós. Isso significa que as taxas de acerto do cache serão muito maiores, reduzindo significativamente a necessidade de acessos lentos ao disco.

Implantando MariaDB Xpand

Existem duas implantações MariaDB Xpand separadas para começar a usar o MariaDB Xpand. As implantações do Xpand consistem em instâncias do MariaDB Enterprise Server, chamadas de servidores front-end, com o plug-in Xpand instalado, então os Xpand Nodes estão sendo executados juntamente com esses servidores front-end. Para obter o melhor desempenho, o Enterprise Server e o nó Xpand podem ser instalados em servidores físicos separados.

  1. Você precisa configurar o MariaDB Xpand Node. Os nós Xpand são configurados em uma implantação para fornecer o back-end de armazenamento para MariaDB Enterprise Servers com o plug-in do mecanismo de armazenamento Xpand. Os servidores armazenam dados para tabelas Xpand em nós Xpand em vez do sistema de arquivos local. A instalação do Xpand Node requer uma licença, que é um objeto JSON, e você só pode adquirir entrando em contato com o MariaDB Sales. O processo de instalação não é tão rápido quanto um único comando ou clique, então sugerimos que você acesse o guia de instalação do Xpand Node.
  2. Implante um servidor front-end. Pelo que notei aqui sobre as mudanças que eles fizeram, parece que a maneira mais recomendada de usar o Xpand é usando o MariaDB Enterprise Server 10.5. O Xpand 

Compatibilidade de Hardware MariaDB Xpand

Se você estiver curioso sobre sua compatibilidade de hardware, a Plataforma MariaDB pode ser executada em vários ambientes. Contanto que seus servidores MariaDB possam ser executados ou hospedados nos ambientes que você está usando atualmente, contanto que você seja capaz de configurar os Xpand Nodes junto com os servidores MariaDB e tenha plugins Xpand instalados, isso definitivamente funcionará. A partir de sua documentação, a lista de Ambientes Físicos e de Nuvem está listada abaixo:

  • No local (no local)
  • Colocado (colo)
  • Nuvem privada
  • Nuvem pública
  • Híbrido

Para a arquitetura de hardware, vale a pena notar que, a partir do MariaDB Enterprise Server 10.4.10-4 (2019-11-18), o MariaDB Enterprise Server suporta apenas plataformas de arquitetura de hardware x86_64.

Conclusão

O MariaDB Xpand simplifica a eficiência e a capacidade de expansão de uma forma muito conveniente. O aspecto mais atraente deste produto é que você também pode usar as funções SQL padrão do MariaDB. Ele pode ser incorporado por meio de seu ambiente MariaDB existente, que pode aproveitar seus recursos e escalabilidade. Embora isso possa ser atraente, requer licenciamento especial e altas taxas para que você aproveite este produto. Se servir a um propósito para o seu aplicativo corporativo, talvez valha a pena tentar este MariaDB Xpand.