Escolher uma tecnologia de armazenamento de Big Data no Azure

Este tópico compara as opções de armazenamento de dados para soluções de Big Data, especificamente, o armazenamento de dados para ingestão de dados em massa e o processamento em lotes, em comparação com os armazenamentos de dados analíticos ou a ingestão de streaming em tempo real.

Quais são as opções disponíveis ao escolher um armazenamento de dados no Azure?

Há várias opções para a ingestão de dados no Azure, dependendo de suas necessidades.

Armazenamento de Arquivos

Bancos de dados NoSQL:

Bancos de dados analíticos:

Azure Data Explorer

Blobs do Armazenamento do Azure

O Armazenamento do Azure é um serviço de armazenamento gerenciado altamente disponível, seguro, durável, escalonável e redundante. A Microsoft cuida da manutenção e lida com problemas importantes para você. O Armazenamento do Azure é a solução de armazenamento com maior presença oferecida pelo Azure, devido à quantidade de serviços e ferramentas que podem ser usados com ele.

Há vários serviços do Armazenamento do Azure que podem ser usados para armazenar dados. A opção mais flexível para armazenar blobs de uma variedade de fontes de dados é o armazenamento de Blobs. Blobs são basicamente arquivos. Eles armazenam imagens, documentos, arquivos HTML, VHDs (discos rígidos virtuais), Big Data como logs, backups de banco de dados, praticamente qualquer coisa. Blobs são armazenados em contêineres, que são semelhantes às pastas. Um contêiner fornece um agrupamento de conjunto de blobs. Uma conta de armazenamento pode conter um número ilimitado de contêineres e um contêiner pode armazenar um número ilimitado de blobs.

O Armazenamento do Azure é uma boa escolha para soluções de Big Data e análise, devido à sua flexibilidade, alta disponibilidade e baixo custo. Ele fornece camadas de armazenamento frio, quente e de arquivos para diferentes casos de uso. Para obter mais informações, consulte Armazenamento de Blobs do Azure: camadas de armazenamento quente, frio e de arquivos.

O armazenamento de Blobs do Azure pode ser acessado por meio do Hadoop (disponível no HDInsight). O HDInsight pode usar um contêiner de blobs no Armazenamento do Azure como o sistema de arquivos padrão para o cluster. Por meio de uma interface HDFS (Sistema de Arquivos Distribuído Hadoop) fornecida por um driver WASB, o conjunto completo de componentes no HDInsight pode operar diretamente sobre os dados estruturados ou não estruturados armazenados como blobs. O armazenamento de blobs do Azure também pode ser acessado por meio do Azure Synapse Analytics usando o recurso PolyBase.

Outros recursos que tornam o Armazenamento do Azure uma boa opção são os seguintes:

Repositório Azure Data Lake

O Azure Data Lake Store é um repositório de hiperescala de toda a empresa para cargas de trabalho de análise de Big Data. O Data Lake permite que você capture dados de qualquer tamanho, tipo e velocidade de ingestão em um único lugar seguro para análises operacionais e exploratórias.

O Data Lake Store não impõe nenhum limite de tamanho de conta, tamanho de arquivo ou a quantidade de dados que podem ser armazenados em um data lake. Os dados são armazenados permanentemente por meio de várias cópias e não há limite de tempo de armazenamento dos dados no Data Lake. Além de fazer várias cópias de arquivos para proteger contra falhas inesperadas, o Data Lake distribui partes de um arquivo em vários servidores de armazenamento individuais. Isso melhora a produtividade da leitura do arquivo em paralelo para a realização de análises de dados.

O Data Lake Store pode ser acessado por meio do Hadoop (disponível no HDInsight) usando as APIs REST compatíveis com WebHDFS. Considere a possibilidade de usar isso como uma alternativa ao Armazenamento do Azure, quando os tamanhos de arquivo individuais ou combinados excederem o limite com suporte no Armazenamento do Azure. No entanto, há diretrizes de ajuste de desempenho que devem ser seguidas ao usar o Data Lake Store como o armazenamento primário para um cluster HDInsight, com diretrizes específicas para o Spark, Hive, MapReduce e Storm. Além disso, verifique a disponibilidade regional do Data Lake Store, porque ele não está disponível no mesmo número de regiões que o Armazenamento do Azure e precisa estar localizado na mesma região do cluster HDInsight.

Acoplado com o Azure Data Lake Analytics, o Data Lake Store foi especificamente projetado para permitir a análise de dados armazenados e é ajustado quanto ao desempenho para cenários de análise de dados. O Data Lake Store também pode ser acessado por meio do Azure Synapse usando o recurso PolyBase.

Azure Cosmos DB

O Azure Cosmos DB é o multimodelo de banco de dados distribuído globalmente da Microsoft. O Cosmos DB garante latências de milissegundo de um dígito no 99º percentil em qualquer parte do mundo, oferece vários modelos de consistência bem definidos para ajustar o desempenho e garante alta disponibilidade com funcionalidades de hospedagem múltipla.

O Azure Cosmos DB é independente de esquema. Ele indexa todos os dados automaticamente, sem a necessidade de lidar com o gerenciamento de esquema e de índice. Também é multimodelo, dando suporte nativo a modelos de dados de documentos, de chave-valor, de grafo e de família de colunas.

Recursos do Azure Cosmos DB:

HBase no HDInsight

O Apache HBase é um banco de dados NoSQL de software livre, que se baseia no Hadoop e é modelado com base no Google BigTable. O HBase fornece acesso aleatório e coerência forte para grandes quantidades de dados não estruturados e semiestruturados em um banco de dados sem esquema, organizado por famílias de colunas.

Os dados são armazenados nas linhas de uma tabela e os dados contidos nas linhas são agrupados por famílias de colunas. O HBase é sem esquema, pois as colunas nem o tipo de dados armazenados nelas precisam ser definidos antes de serem utilizados. O código-fonte aberto é dimensionado linearmente para lidar com petabytes de dados em milhares de nós. Ele pode fazer uso da redundância de dados, do processamento em lote e de outros recursos que são fornecidos por aplicativos distribuídos no ecossistema do Hadoop.

A implementação do HDInsight utiliza a arquitetura de expansão do HBase para fornecer a fragmentação automática de tabelas, coerência forte para leituras e gravações e failover automático. O desempenho é aprimorado pelo cache na memória para leituras e streaming de alta produtividade para gravações. Na maioria dos casos, é recomendável criar o cluster HBase dentro de uma rede virtual, de forma que outros clusters HDInsight e aplicativos possam acessar diretamente as tabelas.

Azure Data Explorer

O Azure Data Explorer é um serviço de exploração de dados rápido e altamente escalonável para dados telemétricos e de log. Ele ajuda você a lidar com os vários fluxos de dados emitidos pelo software moderno, de modo que você possa coletar, armazenar e analisar os dados. O Azure Data Explorer é ideal para analisar grandes volumes de dados diversos de qualquer fonte de dados, como sites, aplicativos, dispositivos IoT e muito mais. Esses dados são usados para diagnósticos, monitoramento, relatórios, aprendizado de máquina e recursos adicionais de análise. O Azure Data Explorer simplifica a ingestão desses dados e permite que você faça consultas ad hoc complexas nos dados em segundos.

O Azure Data Explorer pode ser expandido linearmente para aumentar a taxa de transferência de ingestão e processamento de consulta. Um cluster do Azure Data Explorer pode ser implantado em uma rede virtual para habilitar redes privadas.

Principais critérios de seleção

Para restringir as opções, comece respondendo a estas perguntas:

  • Você precisa ter um armazenamento baseado em nuvem, gerenciado e de alta velocidade para qualquer tipo de dados de texto ou binários? Em caso afirmativo, selecione uma das opções de análise ou de armazenamento de arquivo.

  • Você precisa de um armazenamento de arquivos otimizado para cargas de trabalho de análise paralela e alto IOPS/taxa de transferência? Em caso afirmativo, escolha uma opção ajustada para o desempenho da carga de trabalho de análise.

  • Você precisa armazenar dados não estruturados ou semiestruturados em um banco de dados sem esquema? Nesse caso, selecione uma das opções não relacionais ou de análise. Compare opções de modelos de banco de dados e indexação. Dependendo do tipo de dados que você precisa armazenar, os modelos de banco de dados primário podem ser o fator proeminente.

  • Você pode usar o serviço em sua região? Verifique a disponibilidade regional para cada serviço do Azure. Consulte Produtos disponíveis por região.

Matriz de funcionalidades

As tabelas a seguir resumem as principais diferenças em funcionalidades.

Funcionalidades de armazenamento de arquivos

Funcionalidade Repositório Azure Data Lake Contêineres do Armazenamento de Blobs do Azure
Finalidade Armazenamento otimizado para cargas de trabalho de análise de big data Repositório de objetos de finalidade geral para uma ampla variedade de cenários de armazenamento
Casos de uso Lote, análise de streaming e dados de aprendizado de máquina, como arquivos de log, dados de IoT, fluxos de cliques, conjuntos de dados grandes Qualquer tipo de dados de texto ou binários, como back-end de aplicativo, dados de backup, armazenamento de mídia para streaming e dados de uso geral
Estrutura Sistema de arquivos hierárquico Repositório de objetos com namespace simples
Autenticação Com base em Identidades do Azure Active Directory Com base nas chaves de acesso de conta e nas chaves de Assinatura de Acesso Compartilhado dos segredos compartilhados e no RBAC do Azure (controle de acesso baseado em função do Azure)
Protocolo de autenticação OAuth 2.0. As chamadas precisam conter um JWT (Token Web JSON) válido emitido pelo Azure Active Directory HMAC (código de autenticação de mensagem baseado em hash). As chamadas devem conter um hash SHA-256 codificado na Base64 em uma parte da solicitação HTTP.
Autorização ACLs (listas de controle de acesso) do POSIX. ACLs baseadas em identidades do Azure Active Directory podem ser definidas com nível de arquivo e pasta. Para autorização no nível de conta, use Chaves de Acesso da Conta. Para autorização de conta, contêiner ou blob, use Chaves de Assinatura de Acesso Compartilhado.
Auditoria Disponível. Disponível
Criptografia em repouso Transparente, do lado do servidor Transparente, do lado do servidor; criptografia do lado do cliente
SDKs de desenvolvedor .NET, Java, Python, Node.js .NET, Java, Python, Node.js, C++, Ruby
Desempenho da carga de trabalho de análise Desempenho otimizado para cargas de trabalho de análise paralela, Alta Taxa de Transferência e IOPS Não otimizado para cargas de trabalho de análise
Limites de tamanho Sem limites para tamanhos de conta, tamanhos de arquivo ou número de arquivos Limites específicos documentados aqui
Redundância geográfica LRS (com redundância local), GRS (com redundância geográfica), RA-GRS (com redundância geográfica com acesso de leitura) e ZRS (com redundância de zona). LRS (com redundância local), GRS (com redundância geográfica), RA-GRS (com redundância geográfica com acesso de leitura) e ZRS (com redundância de zona). Veja mais informações aqui

Funcionalidades de banco de dados NoSQL

Funcionalidade Azure Cosmos DB HBase no HDInsight
Modelo de banco de dados primário Repositório de documentos, gráfico, repositório de chave-valor, repositório de coluna grande Repositório de coluna grande
Índices secundários Sim Não
Suporte à linguagem SQL Sim Sim (usando o driver JDBC Phoenix)
Consistência Forte, desatualização limitada, sessão, prefixo consistente, eventual Forte
Integração nativa com o Azure Functions Sim Não
Distribuição global automática Sim Não A replicação de cluster HBase pode ser configurada em regiões com consistência eventual
Modelo de preços RUs (unidades de solicitação) elasticamente escalonáveis cobradas por segundo, conforme necessário, armazenamento elasticamente escalonável Preços por minuto do cluster HDInsight (dimensionamento horizontal de nós), armazenamento

Funcionalidades de banco de dados analíticos

Funcionalidade Azure Data Explorer
Modelo de banco de dados primário Relacional (armazenamento de colunas), telemetria e armazenamento de série temporal
Suporte à linguagem SQL Sim
Modelo de preços Instâncias de cluster com escala elástica
Autenticação Baseada nas identidades do Azure Active Directory
Criptografia em repouso Compatível, chaves gerenciadas pelo cliente
Desempenho da carga de trabalho de análise Desempenho otimizado para cargas de trabalho de análise paralela
Limites de tamanho Linearmente escalonável

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi escrito originalmente pelos colaboradores a seguir.

Autor principal: