O ApsaraDB for SelectDB é um serviço de data warehouse em tempo real nativo da nuvem, desenvolvido com base no Apache Doris. Ele separa computação de armazenamento: as instâncias gerenciam o roteamento de requisições, os clusters executam a computação e o Object Storage Service (OSS) fornece o armazenamento persistente.
Como funciona
A arquitetura distribui três responsabilidades em camadas distintas:
Camada de serviço — As instâncias recebem conexões, analisam SQL e roteiam requisições. Cada instância contém um grupo de frontends (FEs) gerenciados pelo ApsaraDB for SelectDB.
Camada de computação — Os clusters executam consultas e processam escritas. Cada cluster contém um ou mais backends (BEs), e cada um possui recursos dedicados de computação e cache.
Camada de armazenamento — O OSS armazena todos os dados persistentes. Como o OSS oferece alta confiabilidade integrada, o ApsaraDB for SelectDB não mantém réplicas de dados separadas.
Requisições de escrita
Quando uma requisição de escrita chega:
Inicie a requisição usando a interface de escrita fornecida pelo ApsaraDB for SelectDB ou uma ferramenta de importação existente.
A instância encaminha a requisição para o cluster especificado.
O cluster grava os dados no bucket do OSS e no cache.
Após a persistência dos dados no OSS, o sistema retorna uma resposta de sucesso.
Requisições de consulta
Ao receber uma requisição de consulta:
A instância analisa a instrução SQL e utiliza um otimizador inteligente para gerar um plano de execução eficiente.
O sistema encaminha a requisição para o cluster especificado.
O cluster realiza processamento massivamente paralelo (MPP) e lê dados do OSS ou do cache conforme necessário.
Os resultados são retornados via protocolo MySQL.
Para acelerar as consultas, os clusters utilizam uma arquitetura de execução em pipeline combinada com indexação, cache e vetorização.

Conceitos principais
Instâncias
A instância é a unidade básica para compra e gerenciamento de recursos. Ela recebe conexões de clientes e contém um grupo de FEs hospedados e dimensionados pelo ApsaraDB for SelectDB, sem necessidade de gerenciamento manual.
Os recursos entre instâncias possuem isolamento físico, o que as torna adequadas para cargas de trabalho independentes ou com diferentes níveis de sensibilidade de dados.
O ApsaraDB for SelectDB é compatível com o protocolo de conexão MySQL e SQL padrão. Conecte-se usando qualquer cliente compatível com MySQL: CLI do MySQL, drivers Java Database Connectivity (JDBC), drivers Open Database Connectivity (ODBC) ou ferramentas de visualização.
Implante sua aplicação na mesma região da sua instância do ApsaraDB for SelectDB para minimizar a latência de rede.
Clusters
Um cluster é um sistema distribuído que processa requisições. Ele contém um ou mais BEs, cada um com recursos de computação e cache.
Como o acesso ao OSS tem latência maior que o armazenamento local, os clusters usam cache multinível (em memória e em disco) para acelerar o acesso aos dados. Durante o dimensionamento do cluster, os caches são pré-buscados e migrados para manter o desempenho estável das consultas.
Arquitetura multicluster
Uma única instância pode conter vários clusters, semelhante a filas ou grupos de computação em uma arquitetura distribuída clássica. Os clusters na mesma instância compartilham os mesmos dados subjacentes no OSS, eliminando a necessidade de armazenamento redundante.
A arquitetura multicluster possui três propriedades fundamentais:
Compartilhamento de dados — Todos os clusters acessam os mesmos dados no OSS.
Isolamento de computação — Os recursos de computação e cache são totalmente independentes entre os clusters. Cada cluster pode ser dimensionado individualmente.
Concorrência de leitura e escrita — As operações de leitura e escrita ocorrem em paralelo. Após a conclusão de uma escrita, os dados ficam imediatamente disponíveis em todos os clusters.
Quando usar múltiplos clusters
|
Cenário |
Como configure |
|
Isolar leituras de escritas |
Dedique um cluster para ingestão e outro para análises |
|
Separar cargas online de offline |
Execute consultas sensíveis ao tempo em um cluster separado dos jobs em lote |
|
Isolar produção de testes |
Mantenha o tráfego de teste em um cluster separado para evitar impactos na produção |
Armazenamento
O ApsaraDB for SelectDB utiliza o OSS para armazenamento persistente de dados, oferecendo duas vantagens sobre o data warehousing tradicional:
Sem gerenciamento de réplicas — A confiabilidade integrada do OSS elimina a necessidade de manter réplicas de dados.
Menor custo de armazenamento — O custo por unidade de armazenamento é mais de 90% inferior às soluções tradicionais de data warehousing.
O armazenamento é cobrado no modelo pagamento conforme o uso, sem reserva antecipada de capacidade. Planos de armazenamento também estão disponíveis para reduzir ainda mais os custos.
Para melhorar o desempenho da análise, os sistemas de armazenamento e computação do ApsaraDB for SelectDB são profundamente integrados.
Organização de dados
O ApsaraDB for SelectDB organiza os dados para maximizar o desempenho das consultas:
Particionamento de dados — Os dados são divididos por tempo ou valor hash, permitindo processamento paralelo entre BEs e poda de dados durante as consultas.
Armazenamento híbrido linha-coluna — O armazenamento colunar é o padrão e otimizado para consultas analíticas em grande escala. O armazenamento por linhas está disponível para consultas pontuais de alto desempenho.
Índices — Vários tipos de índice permitem localização precisa dos dados, proporcionando melhorias expressivas no desempenho das consultas.
Modelos de dados
Escolha um modelo de dados com base na sua carga de trabalho:
|
Modelo |
Mais indicado para |
|
Modelos únicos |
Cargas que exigem chaves primárias únicas ou atualizações eficientes, como pedidos de e-commerce ou dados de atributos de usuário |
|
Modelos de agregação |
Cargas que retêm todos os registros originais, como análise de logs ou análise de faturas |
|
Modelos duplicados |
Cargas de estatísticas de agregação que usam pré-agregação para melhorar o desempenho, como análise de tráfego web ou relatórios personalizados |
Ecossistema externo
O ApsaraDB for SelectDB integra-se a ferramentas de terceiros em toda a pilha de dados:
Importação de dados — Importe dados de fontes da Alibaba Cloud e fontes autogerenciadas usando diversas ferramentas de integração. Para mais detalhes, consulte Ferramentas de importação de dados.
Visualização de dados — Conecte ferramentas de visualização compatíveis com MySQL diretamente ao ApsaraDB for SelectDB para desenvolvimento e análise de dados. Para mais detalhes, consulte Visualização de dados.
Consultas federadas — Consulte data lakes e bancos de dados externos, com suporte a leitura e escrita de dados, usando os recursos integrados de lakehouse. Isso reduz os custos de recursos e manutenção na sua pilha tecnológica de análise de dados. Para mais detalhes, consulte Lake warehouse.