Escolha uma loja de dados analítica em Azure

Numa grande arquitetura de dados , há muitas vezes a necessidade de uma loja de dados analíticos que atende dados processados num formato estruturado que pode ser consultado usando ferramentas analíticas. Os armazéns de dados analíticos que suportam a consulta de dados de caminhos quentes e de caminhos frios são coletivamente referidos como a camada de serviço, ou armazenamento de dados.

A camada de serviço lida com dados processados tanto do caminho quente como do caminho frio. Na arquitetura lambda, a camada de serviço é subdividida em uma camada de serviço de velocidade , que armazena dados que foram processados incrementalmente, e uma camada de serviço de lote , que contém a saída processada em lote. A camada de serviço requer um forte suporte para leituras aleatórias com baixa latência. O armazenamento de dados para a camada de velocidade também deve suportar escritas aleatórias, porque os dados de carregamento de lotes nesta loja introduziriam atrasos não guardados. Por outro lado, o armazenamento de dados para a camada de lote não precisa de suportar escritas aleatórias, mas o lote escreve.

Não existe uma única escolha de gestão de dados para todas as tarefas de armazenamento de dados. Diferentes soluções de gestão de dados são otimizadas para diferentes tarefas. A maioria das aplicações em nuvem do mundo real e os grandes processos de dados têm uma variedade de requisitos de armazenamento de dados e muitas vezes usam uma combinação de soluções de armazenamento de dados.

Quais são as suas opções na escolha de uma loja de dados analíticos?

Existem várias opções para o armazenamento de dados em Azure, dependendo das suas necessidades:

Estas opções fornecem vários modelos de base de dados otimizados para diferentes tipos de tarefas:

  • As bases de dados chave/valor possuem um único objeto serializado para cada valor chave. São bons para armazenar grandes volumes de dados onde você quer obter um item por um dado valor chave e você não tem que consultar com base em outras propriedades do item.
  • As bases de dados de documentos são bases de dados chave/valor em que os valores são documentos. Um "documento" neste contexto é uma coleção de campos e valores nomeados. A base de dados normalmente armazena os dados num formato como XML, YAML, JSON ou BSON, mas pode usar texto simples. As bases de dados de documentos podem consultar campos não-chave e definir índices secundários para tornar a consulta mais eficiente. Isto torna uma base de dados de documentos mais adequada para aplicações que precisam de recuperar dados com base em critérios mais complexos do que o valor da chave do documento. Por exemplo, pode consultar campos como iD de produto, identificação do cliente ou nome do cliente.
  • As bases de dados da família coluna são lojas de dados chave/valor que estruturam o armazenamento de dados em coleções de colunas relacionadas chamadas famílias de colunas. Por exemplo, uma base de dados de recenseamento pode ter um grupo de colunas para o nome de uma pessoa (primeiro, meio, último), um grupo para o endereço da pessoa, e um grupo para informações de perfil da pessoa (dados de nascimento, sexo). A base de dados pode armazenar cada família de colunas numa divisória separada, mantendo todos os dados para uma pessoa relacionada com a mesma chave. Uma aplicação pode ler uma única coluna familiar sem ler todos os dados para uma entidade.
  • Bases de dados de gráficos armazenam informações como uma coleção de objetos e relacionamentos. Uma base de dados de gráficos pode realizar consultas eficientes que atravessam a rede de objetos e as relações entre eles. Por exemplo, os objetos podem ser empregados numa base de dados de recursos humanos, e talvez queira facilitar consultas como "encontrar todos os funcionários que trabalham direta ou indiretamente para o Scott".
  • As bases de dados de telemetria e séries de tempo são uma coleção de objetos apenas anexados. As bases de dados de telemetria indexam eficientemente os dados numa variedade de lojas de colunas e estruturas na memória, tornando-os a escolha ideal para armazenar e analisar grandes quantidades de dados de telemetria e séries de tempo.

Critérios-chave de seleção

Para reduzir as escolhas, comece por responder a estas perguntas:

  • Precisa de servir armazenamento que possa servir de caminho quente para os seus dados? Se sim, reduza as suas opções para as que são otimizadas para uma camada de serviço de velocidade.

  • Precisa de um apoio maciço de processamento paralelo (MPP), onde as consultas são distribuídas automaticamente por vários processos ou nós? Se sim, selecione uma opção que suporte a escala de consulta para fora.

  • Prefere utilizar uma loja de dados relacional? Em caso afirmativo, reduza as suas opções para as que têm um modelo de base de dados relacional. No entanto, note que algumas lojas não relacionais suportam a sintaxe SQL para consulta, e ferramentas como a PolyBase podem ser usadas para consultar lojas de dados não relacionais.

  • Recolhe dados de séries tempor para o tempo? Utiliza dados só para apêndices?

Matriz de capacidade

As tabelas seguintes resumem as principais diferenças de capacidades.

Capacidades gerais

Funcionalidade Base de Dados SQL Azure Synapse piscina SQL piscina de faíscas de Azure Synapse Azure Data Explorer HBase/Phoenix em HDInsight Colmeia LLAP em HDInsight Azure Analysis Services Azure Cosmos DB
É gerido serviço Yes Yes Yes Yes Sim 1 Sim 1 Sim Yes
Modelo de base de dados primária Relacional (formato colunar ao utilizar índices de loja de colunas) Tabelas relacionais com armazenamento colunar Loja de colunas larga Loja relacional (loja de colunas), telemetria e séries de tempo Loja de colunas larga Colmeia/Memória Modelos semânticos tabulares Loja de documentos, gráfico, loja de valor-chave, loja de colunas larga
Suporte linguístico SQL Yes Yes Yes Yes Sim (usando o condutor Phoenix JDBC) Yes No Yes
Otimizado para camada de serviço de velocidade Sim 2 Sim 3 Yes Yes Yes Yes No Yes

[1] Com configuração manual e escala.

[2] Com tabelas com otimização de memória e índices não em cluster ou hash.

[3] Suportado como uma saída Azure Stream Analytics.

Capacidades de escalabilidade

Funcionalidade Base de Dados SQL Azure Synapse piscina SQL piscina de faíscas de Azure Synapse Azure Data Explorer HBase/Phoenix em HDInsight Colmeia LLAP em HDInsight Azure Analysis Services Azure Cosmos DB
Servidores regionais redundantes para alta disponibilidade Yes No No Yes Yes No Yes Yes
Suporta escala de consulta para fora No Yes Yes Yes Yes Yes Yes Yes
Escalabilidade dinâmica (escala) Yes Yes Yes Yes No No Yes Yes
Suporta o caching na memória de dados Yes Yes Yes Yes No Yes Yes No

Funcionalidades de segurança

Funcionalidade Base de Dados SQL Azure Synapse Azure Data Explorer HBase/Phoenix em HDInsight Colmeia LLAP em HDInsight Azure Analysis Services Azure Cosmos DB
Autenticação SQL / Azure Ative Directory (Azure AD) SQL / Azure AD Azure AD local / Azure AD 1 local / Azure AD 1 Azure AD Utilizadores de bases de dados / Azure AD através do controlo de acesso (IAM)
Encriptação de dados inativos Sim 2 Sim 2 Yes Sim 1 Sim 1 Sim Yes
Segurança ao nível da linha Yes Sim 3 Yes Sim 1 Sim 1 Sim No
Suporta firewalls Yes Yes Yes Sim 4 Sim 4 Yes Yes
Máscara de dados dinâmica Yes Yes Yes Sim 1 Sim No No

[1] Requer a utilização de um cluster HDInsight de domínio.

[2] Requer a utilização de encriptação de dados transparentes (TDE) para encriptar e desencriptar os seus dados em repouso.

[3] Filtrar apenas predicados. Ver Segurança de nível de linha

[4] Quando utilizado num Rede Virtual Azure. Consulte Azure HDInsight utilizando um Rede Virtual Azure.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuintes.

Autor principal: