O AnalyticDB for MySQL é um serviço de data warehouse em tempo real nativo da nuvem desenvolvido pela Alibaba Cloud. Ele processa dados na escala de petabytes com um modelo de separação entre computação e armazenamento, permitindo executar análises em tempo real e cargas de trabalho em lote sobre os mesmos dados, sem a necessidade de manter sistemas separados.
Funcionamento
O AnalyticDB for MySQL utiliza uma arquitetura de três camadas: acesso, computação e armazenamento. A computação e o armazenamento são desacoplados, o que possibilita o dimensionamento independente de cada camada. Os dados quentes e frios são organizados em níveis automaticamente; assim, os dados acessados com frequência permanecem em armazenamento rápido, enquanto os dados históricos migram para mídias de menor custo.
Essa arquitetura permite:
Dimensionar recursos de computação sem mover ou duplicar dados
Executar consultas em tempo real e jobs em lote na mesma cópia dos dados
Reduzir custos de armazenamento ao mover dados frios para mídias de alto throughput e baixo custo
Manter a latência de consulta abaixo de 100 milissegundos para análise em tempo real
A figura a seguir mostra as arquiteturas da Enterprise Edition e da Basic Edition.
Camada de acesso
A camada de acesso consiste em nós coordenadores com dimensionamento linear e gerencia:
Acesso ao protocolo — gerenciamento de conexões e autenticação
Análise e otimização de SQL — planejamento e reescrita de consultas
Agendamento de dados — fragmentação (sharding) em tempo real das escritas recebidas
Agendamento de consultas — distribuição de consultas entre os nós de computação
Uma unidade de faturamento unificada, um repositório de metadados, um modelo de permissões e um link de transmissão abrangem tanto a Enterprise Edition quanto a Basic Edition, mantendo os fluxos de trabalho de desenvolvimento consistentes entre as edições.
Camada de computação
O mecanismo de computação proprietário suporta dois modos: processamento massivamente paralelo (MPP) e processamento paralelo síncrono em massa (BSP).
O modo MPP usa computação de fluxo para consultas interativas de baixa latência. Não é adequado para cenários de processamento em lote de baixo custo e alto throughput.
O modo BSP divide o trabalho em um grafo acíclico direcionado (DAG) de tarefas, processa cada tarefa independentemente e descarrega dados no disco quando necessário. Isso o torna adequado para jobs em lote de alto throughput em grandes conjuntos de dados com memória restrita.
O mecanismo alterna automaticamente de MPP para BSP se uma consulta exceder seu limiar de tempo de processamento, sem necessidade de intervenção manual.
O Apache Spark também está disponível como opção de computação open source para processamento em lote complexo e cargas de trabalho de machine learning. As camadas de computação e armazenamento do Spark são separadas, mas interconectadas, permitindo que os grupos de recursos do Spark leiam diretamente da camada de armazenamento do AnalyticDB. Há suporte para aceleração de hardware via GPU e FPGA, proporcionando ganhos adicionais de custo-benefício.
A implantação de hardware suporta chips Intel e AMD em conjuntos de instruções x86.
Camada de armazenamento
O mecanismo de armazenamento proprietário utiliza uma arquitetura distribuída com forte consistência e alta disponibilidade, baseada em armazenamento compartilhado e consenso Multi-Raft. Uma única cópia completa dos dados atende simultaneamente ao processamento em lote e à análise em tempo real.
Os dados quentes são armazenados em SSDs para atender ao requisito de latência inferior a 100 milissegundos em consultas de dados de linha, indexação completa e aceleração de cache.
Os dados frios ficam em mídias de armazenamento de baixo custo e alto throughput, reduzindo os custos de I/O e armazenamento para cargas de trabalho em lote.
O mecanismo de armazenamento emprega fragmentação de dados e Multi-Raft para escritas paralelas em tempo real, armazenamento híbrido linha-coluna para flexibilidade nas consultas e indexação inteligente para desempenho.
Acesso aberto — uma camada de API de armazenamento unificada com formato Apache Arrow torna os dados acessíveis a mecanismos de computação externos, sem vendor lock-in. É possível consultar dados do AnalyticDB diretamente usando Apache Spark ou Presto, além de acessar formatos de data lake como Apache Iceberg, Apache Hudi, Delta Lake e Apache Paimon.
Edições
Enterprise Edition
A Enterprise Edition destina-se a cargas de trabalho de produção que exigem alta disponibilidade e confiabilidade de dados de nível financeiro.
Alta disponibilidade — failover em segundos, implantação entre zonas, detecção e remoção automática de falhas e recriação de réplicas
Confiabilidade dos dados — armazenamento com três réplicas, incluindo backups completos e incrementais
Operações de dados — ferramentas integradas para migração, sincronização, gerenciamento, integração e proteção de dados
Basic Edition
A Basic Edition utiliza uma arquitetura de armazenamento com réplica única e não oferece suporte a alta disponibilidade. É indicada para cenários que demandam armazenamento de dados quentes de baixo custo, onde a alta disponibilidade não é um requisito.
Edições históricas
Data Warehouse Edition
A Data Warehouse Edition foca em análise de dados em tempo real com alto desempenho.
A figura a seguir ilustra a arquitetura da Data Warehouse Edition.
Camada de acesso — nós coordenadores com dimensionamento linear para acesso ao protocolo, análise e otimização de SQL, fragmentação de escritas em tempo real, agendamento de dados e agendamento de consultas.
Mecanismo de computação — integra capacidades distribuídas de MPP e DAG com um otimizador inteligente para consultas SQL complexas e de alta concorrência. Os nós de computação escalam em questão de segundos.
Mecanismo de armazenamento — garante forte consistência e alta disponibilidade com base no protocolo de consenso Raft. Utiliza fragmentação de dados e Multi-Raft para escritas paralelas, armazenamento em níveis para dados quentes e frios, além de armazenamento híbrido linha-coluna com indexação inteligente.
A Data Warehouse Edition oferece failover em segundos, implantação entre zonas, detecção automática de falhas e exclusão e recriação de réplicas. Fornece armazenamento com três réplicas e backups completos e incrementais para garantir confiabilidade de dados de nível financeiro.
Data Lakehouse Edition
A Data Lakehouse Edition estende a Data Warehouse Edition com processamento em lote de baixo custo, mantendo a análise em tempo real de alto desempenho.
A figura a seguir ilustra a arquitetura da Data Lakehouse Edition.
Source de dados — o AnalyticDB Pipeline Service (APS) fornece ingestão de baixo custo a partir de bancos de dados, logs e plataformas de big data.
Camada de acesso — unidades de faturamento, metadados e permissões, linguagens de desenvolvimento e links de transmissão unificados e compartilhados entre os mecanismos.
Camada de armazenamento — uma única cópia completa dos dados atende às cargas de trabalho em lote e em tempo real. Os dados em tempo real residem em unidades de I/O elásticas (EIUs) individuais para garantir latência de consulta inferior a 100 milissegundos. Já os dados em lote ficam em mídias de baixo custo e alto throughput para reduzir despesas com I/O.
Camada de computação — dois mecanismos proprietários operam em conjunto com opções open source:
Mecanismo de computação XIHE — suporta os modos MPP e BSP com alternância automática. O MPP cuida de consultas interativas de baixa latência; o BSP gerencia jobs em lote de grande escala por meio de agendamento de tarefas baseado em DAG.
Apache Spark — indicado para cenários complexos de processamento em lote e machine learning. Sua camada de computação conecta-se diretamente à camada de armazenamento, permitindo crie e configure grupos de recursos do Spark sem movimentação de dados.
A Data Lakehouse Edition disponibiliza dois mecanismos proprietários de armazenamento e computação — XUANWU e XIHE — e também suporta alternativas open source, incluindo Apache Spark para computação e Apache Hudi para armazenamento. Todos os mecanismos, sejam proprietários ou open source, compartilham o acesso aos mesmos dados, viabilizando um gerenciamento centralizado entre diferentes tipos de carga de trabalho.