Escolha uma tecnologia de armazenamento de big data no Azure

Nota

Em 29 de fevereiro de 2024 , o Azure Data Lake Storage Gen1 será desativado. Para obter mais informações, veja o anúncio oficial. Se você usar o Azure Data Lake Storage Gen1, certifique-se de migrar para o Azure Data Lake Storage Gen2 antes dessa data. Para saber como, consulte Migrar o Armazenamento do Azure Data Lake de Gen1 para Gen2 usando o portal do Azure.

A menos que você já tenha uma conta do Azure Data Lake Storage Gen1, não poderá criar novas.

Este tópico compara opções de armazenamento de dados para soluções de big data — especificamente, armazenamento de dados para ingestão de dados em massa e processamento em lote, em oposição a armazenamentos de dados analíticos ou ingestão de streaming em tempo real.

Quais são suas opções ao escolher o armazenamento de dados no Azure?

Há várias opções para ingerir dados no Azure, dependendo das suas necessidades.

Armazenamento de ficheiros:

Bases de dados NoSQL:

Bases de dados analíticas:

Azure Data Explorer

Blobs de Armazenamento do Azure

O Armazenamento do Azure é um serviço de armazenamento gerenciado que é altamente disponível, seguro, durável, escalável e redundante. A Microsoft trata da manutenção e lida com os problemas críticos por si. O Armazenamento do Azure é a solução de armazenamento mais ubíqua que o Azure fornece, devido ao número de serviços e ferramentas que podem ser usados com ele.

Há vários serviços de Armazenamento do Azure que você pode usar para armazenar dados. A opção mais flexível para armazenar blobs de muitas fontes de dados é o armazenamento de Blobs. Blobs são basicamente arquivos. Eles armazenam imagens, documentos, arquivos HTML, discos rígidos virtuais (VHDs), big data, como logs, backups de bancos de dados — praticamente qualquer coisa. Os blobs são armazenados em contentores, que são semelhantes a pastas. Um contêiner fornece um agrupamento de um conjunto de blobs. Uma conta de armazenamento pode conter um número ilimitado de contentores, e um contentor pode armazenar um número ilimitado de blobs.

O Armazenamento do Azure é uma boa opção para soluções de big data e análise, devido à sua flexibilidade, alta disponibilidade e baixo custo. Ele fornece níveis de armazenamento quentes, frescos e arquivados para diferentes casos de uso. Para obter mais informações, consulte Armazenamento de Blob do Azure: camadas de armazenamento quentes, frias e de arquivamento.

O armazenamento de Blob do Azure pode ser acessado do Hadoop (disponível por meio do HDInsight). O HDInsight pode utilizar um contentor de blobs no Armazenamento do Azure como o sistema de ficheiros predefinido 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 do HDInsight pode operar diretamente em dados estruturados ou não estruturados armazenados como blobs. O armazenamento de Blob do Azure também pode ser acessado por meio do Azure Synapse Analytics usando seu recurso PolyBase.

Outros recursos que tornam o Armazenamento do Azure uma boa escolha são:

Armazenamento do Azure Data Lake Ger1

O Azure Data Lake Storage Gen1 é um repositório de hiperescala em toda a empresa para cargas de trabalho analíticas de big data. O Data Lake permite capturar dados de qualquer tamanho, tipo e velocidade de ingestão em um único local seguro para análises operacionais e exploratórias.

O Azure Data Lake Storage Gen1 não impõe limites para tamanhos de contas, tamanhos de arquivos ou a quantidade de dados que podem ser armazenados em um data lake. Os dados são armazenados de forma durável fazendo várias cópias e não há limite para a duração do tempo em que os dados podem ser armazenados no Data Lake. Além de fazer várias cópias de arquivos para se proteger contra falhas inesperadas, o Data lake espalha partes de um arquivo por vários servidores de armazenamento individuais. Isto melhora o débito de leitura ao ler o ficheiro em paralelo para efetuar análise de dados.

O Azure Data Lake Storage Gen1 pode ser acessado do Hadoop (disponível por meio do HDInsight) usando as APIs REST compatíveis com WebHDFS. Você pode considerar usar isso como uma alternativa ao Armazenamento do Azure quando seus tamanhos de arquivo individuais ou combinados excederem os suportados pelo Armazenamento do Azure. No entanto, há diretrizes de ajuste de desempenho que você deve seguir ao usar o Azure Data Lake Storage Gen1 como seu armazenamento principal para um cluster HDInsight, com diretrizes específicas para Spark, Hive e MapReduce. Além disso, verifique a disponibilidade regional do Azure Data Lake Storage Gen1, pois ele não está disponível em tantas regiões quanto o Armazenamento do Azure e precisa estar localizado na mesma região do cluster HDInsight.

Juntamente com o Azure Data Lake Analytics, o Azure Data Lake Storage Gen1 foi projetado para habilitar a análise nos dados armazenados e é ajustado para desempenho em cenários de análise de dados. O Azure Data Lake Storage Gen1 também pode ser acessado por meio do Azure Synapse usando seu recurso PolyBase.

BD do Cosmos para o Azure

O Azure Cosmos DB é o banco de dados multimodelo distribuído globalmente da Microsoft. O Azure Cosmos DB garante latências de um dígito e milissegundos no percentil 99 em qualquer lugar do mundo, oferece vários modelos de consistência bem definidos para ajustar o desempenho e garante alta disponibilidade com recursos de vários homing.

O Azure Cosmos DB é independente do esquema. Ele indexa automaticamente todos os dados sem exigir que você lide com o gerenciamento de esquema e índice. Também é multimodelo, suportando nativamente modelos de dados de documentos, chave-valor, gráficos e famílias de colunas.

Recursos do Azure Cosmos DB:

HBase no HDInsight

O Apache HBase é um banco de dados NoSQL de código aberto que é construído no Hadoop e modelado de acordo com o Google BigTable. O HBase fornece acesso aleatório e forte consistência 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 de uma linha são agrupados por família de colunas. O HBase não tem esquema no sentido de que nem as colunas nem o tipo de dados armazenados nelas precisam ser definidos antes de usá-las. O código open source é dimensionado linearmente para processar petabytes de dados em milhares de nós. Pode depender da redundância de dados, do processamento em lotes e de outras funcionalidades fornecidas por aplicações distribuídas do ecossistema do Hadoop.

A implementação do HDInsight aproveita a arquitetura de expansão do HBase para fornecer fragmentação automática de tabelas, forte consistência para leituras e gravações e failover automático. O desempenho é melhorado graças à colocação em cache dentro da memória para as operações de leitura e à transmissão em fluxo de alto débito para as operações de escrita. Na maioria dos casos, convém criar o cluster HBase dentro de uma rede virtual para que outros clusters e aplicativos HDInsight possam acessar diretamente as tabelas.

Azure Data Explorer

O Azure Data Explorer é um serviço de exploração de dados rápido e altamente escalável para dados de log e telemetria. Ele ajuda você a lidar com os muitos fluxos de dados emitidos pelo software moderno para que você possa coletar, armazenar e analisar dados. O Azure Data Explorer é ideal para analisar grandes volumes de dados diversificados provenientes de qualquer origem de dados, como sites, aplicações, dispositivos IoT e muito mais. Estes dados são utilizados para diagnóstico, monitorização, relatórios, aprendizagem automática e capacidades de análise adicionais. 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 consultas. 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 escolhas, comece por responder a estas perguntas:

  • Você precisa de armazenamento gerenciado, de alta velocidade e baseado em nuvem para qualquer tipo de texto ou dados binários? Se sim, selecione uma das opções de armazenamento de arquivos ou análise.

  • Você precisa de armazenamento de arquivos otimizado para cargas de trabalho de análise paralela e alta taxa de transferência/IOPS? Se sim, escolha uma opção ajustada ao desempenho da carga de trabalho de análise.

  • Você precisa armazenar dados não estruturados ou semiestruturados em um banco de dados sem esquema? Em caso afirmativo, selecione uma das opções não relacionais ou analíticas. Compare opções para indexação e modelos de banco de dados. Dependendo do tipo de dados que você precisa armazenar, os modelos de banco de dados primários podem ser o maior fator.

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

Matriz de capacidades

As tabelas a seguir resumem as principais diferenças nos recursos.

Recursos de armazenamento de arquivos

Funcionalidade Armazenamento do Azure Data Lake Ger1 Contêineres de Armazenamento de Blob do Azure
Propósito Armazenamento otimizado para cargas de trabalho de análise de big data Armazenamento de objetos de uso geral para uma ampla variedade de cenários de armazenamento
Casos de utilização Batch, análise de streaming e dados de aprendizado de máquina, como arquivos de log, dados de IoT, fluxos de cliques, grandes conjuntos de dados Qualquer tipo de texto ou dados 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 Armazenamento de objetos com namespace simples
Autenticação Baseado em identidades Microsoft Entra Com base em segredos partilhados, Chaves de Acesso à Conta e Chaves de Assinatura de Acesso Partilhado e controlo de acesso baseado na função do Azure (Azure RBAC)
Protocolo de autenticação OAuth 2.0. As chamadas devem conter um JWT (token da Web JSON) válido emitido pelo Microsoft Entra ID Código de autenticação de mensagens baseado em hash (HMAC). As chamadas têm de conter um hash SHA-256 codificado com Base64 numa parte do pedido HTTP.
Autorização Listas de controle de acesso (ACLs) POSIX. As ACLs baseadas em identidades do Microsoft Entra podem ser definidas no nível de arquivo e pasta. Para autorização no nível da conta, use as 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íveis
Encriptação inativa Transparente, do lado do servidor Transparente, do lado do servidor; Criptografia do lado do cliente
SDKs de desenvolvedor .NET, Java, Python, Nó.js .NET, Java, Python, Node.js, C++, Ruby
Desempenho da carga de trabalho do Analytics 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 de tamanho de conta, tamanho de arquivo ou número de arquivos Limites específicos documentados aqui
Georredundância Localmente redundante (LRS), globalmente redundante (GRS), acesso de leitura globalmente redundante (RA-GRS), zona redundante (ZRS). Localmente redundante (LRS), globalmente redundante (GRS), acesso de leitura globalmente redundante (RA-GRS), zona redundante (ZRS). Veja aqui para obter mais informações

Recursos de banco de dados NoSQL

Funcionalidade BD do Cosmos para o Azure HBase no HDInsight
Modelo de banco de dados primário Armazenamento de documentos, gráfico, armazenamento de chave-valor, armazenamento de colunas amplas Armazenamento de coluna ampla
Índices secundários Sim No
Suporte à linguagem SQL Sim Sim (usando o driver JDBC Phoenix)
Consistência Forte, delimitado, sessão, prefixo consistente, eventual Forte
Integração nativa do Azure Functions Sim No
Distribuição global automática Sim Nenhumareplicação de cluster HBase pode ser configurada entre regiões com consistência eventual
Modelo de preços Unidades de solicitação elasticamente escaláveis (RUs) carregadas por segundo, conforme necessário, armazenamento elasticamente escalável Preços por minuto para cluster HDInsight (dimensionamento horizontal de nós), armazenamento

Recursos de banco de dados analítico

Funcionalidade Azure Data Explorer
Modelo de banco de dados primário Relational (armazenamento de coluna), telemetria e armazenamento de séries temporais
Suporte à linguagem SQL Sim
Modelo de preços Instâncias de cluster elasticamente escaláveis
Autenticação Baseado em identidades Microsoft Entra
Encriptação inativa Chaves suportadas e geridas pelo cliente
Desempenho da carga de trabalho do Analytics Desempenho otimizado para cargas de trabalho de análise paralela
Limites de tamanho Quase escalável

Contribuidores

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

Autor principal:

Próximos passos