Escolher uma tecnologia de armazenamento de macrodados no Azure

Nota

Em 29 de fevereiro de 2024, Azure Data Lake Storage Gen1 será descontinuado. Para obter mais informações, veja o anúncio oficial. Se utilizar o Azure Data Lake Storage Gen1, certifique-se de que migra para Azure Data Lake Storage Gen2 anterior a essa data. Para saber como, consulte Migrar Azure Data Lake Storage de Gen1 para Gen2 com o portal do Azure.

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

Este tópico compara as opções de armazenamento de dados para soluções de macrodados, especificamente o armazenamento de dados para ingestão de dados em massa e processamento em lotes, em vez de arquivos de dados analíticos ou ingestão de transmissão em fluxo em tempo real.

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

Existem várias opções para ingerir dados no Azure, consoante as 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 gerido de elevada disponibilidade, seguro, durável, dimensioná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 omnipresente que o Azure fornece, devido ao número de serviços e ferramentas que podem ser utilizados com o mesmo.

Existem vários serviços de Armazenamento do Azure que pode utilizar para armazenar dados. A opção mais flexível para armazenar blobs a partir de muitas origens de dados é o Armazenamento de blobs. Os blobs são basicamente ficheiros. Armazenam imagens, documentos, ficheiros HTML, discos rígidos virtuais (VHDs), macrodados, como registos, cópias de segurança de bases de dados, praticamente tudo. Os blobs são armazenados em contentores, que são semelhantes a pastas. Um contentor 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 macrodados e análise, devido à sua flexibilidade, elevada disponibilidade e baixo custo. Fornece camadas de armazenamento frequente, esporádico e de arquivo para diferentes casos de utilização. Para obter mais informações, veja Armazenamento de Blobs do Azure: Camadas de armazenamento frequente, esporádico e de arquivo.

O armazenamento de Blobs do Azure pode ser acedido a partir do Hadoop (disponível através do HDInsight). O HDInsight pode utilizar um contentor de blobs no Armazenamento do Azure como o sistema de ficheiros predefinido para o cluster. Através de uma interface do sistema de ficheiros distribuído hadoop (HDFS) fornecida por um controlador WASB, o conjunto completo de componentes no HDInsight pode funcionar diretamente em dados estruturados ou não estruturados armazenados como blobs. O armazenamento de Blobs do Azure também pode ser acedido através do Azure Synapse Analytics com a respetiva funcionalidade PolyBase.

Outras funcionalidades que tornam o Armazenamento do Azure uma boa opção são:

Armazenamento do Azure Data Lake Ger1

Azure Data Lake Storage Gen1 é um repositório de hiperescala de toda a empresa para cargas de trabalho de análise de macrodados. O Data Lake permite-lhe capturar dados de qualquer tamanho, tipo e velocidade de ingestão numa única localização segura para análise operacional e exploratória.

Azure Data Lake Storage Gen1 não impõe limites aos tamanhos de contas, tamanhos de ficheiros ou à quantidade de dados que podem ser armazenados num data lake. Os dados são armazenados de forma duradoura ao fazer várias cópias e não existe um limite de tempo durante o qual os dados podem ser armazenados no Data Lake. Além de fazer várias cópias de ficheiros para proteger contra falhas inesperadas, o Data Lake distribui partes de um ficheiro 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.

Azure Data Lake Storage Gen1 pode ser acedido a partir do Hadoop (disponível através do HDInsight) com as APIs REST compatíveis com WebHDFS. Pode considerar utilizar esta opção como alternativa ao Armazenamento do Microsoft Azure quando os tamanhos de ficheiro individuais ou combinados excederem o que é suportado pelo Armazenamento do Azure. No entanto, existem diretrizes de otimização de desempenho que deve seguir ao utilizar o Azure Data Lake Storage Gen1 como armazenamento primário para um cluster do HDInsight, com diretrizes específicas para o Spark, Hive, MapReduce e Storm. Além disso, certifique-se de que verifica Azure Data Lake Storage disponibilidade regional do Gen1, porque não está disponível em tantas regiões como o Armazenamento do Azure e tem de estar localizado na mesma região que o cluster do HDInsight.

Juntamente com o Azure Data Lake Analytics, o Azure Data Lake Storage Gen1 foi concebido para ativar a análise nos dados armazenados e está otimizado para desempenho para cenários de análise de dados. Azure Data Lake Storage Gen1 também pode ser acedido através de Azure Synapse através da respetiva funcionalidade PolyBase.

Azure Cosmos DB

O Azure Cosmos DB é Microsoft base de dados com vários modelos distribuída globalmente. O Azure Cosmos DB garante latências de milissegundos de um dígito no percentil 99 em qualquer parte do mundo, oferece vários modelos de consistência bem definidos para otimizar o desempenho e garante elevada disponibilidade com capacidades multi-homing.

O Azure Cosmos DB é agnóstico ao esquema. Indexa automaticamente todos os dados sem ser necessário lidar com a gestão de esquemas e índices. Também são modelos de vários modelos, suportando nativamente modelos de dados de família de colunas, chave-valor, grafo e documentos de família de colunas.

Funcionalidades do Azure Cosmos DB:

HBase no HDInsight

O Apache HBase é uma base de dados NoSQL open source criada no Hadoop e modelada após o Google BigTable. O HBase fornece acesso aleatório e consistência forte para grandes quantidades de dados não estruturados e semiestruturados numa base de dados sem esquema organizada 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 esquemas no sentido em que nem as colunas nem o tipo de dados armazenados nas mesmas têm de ser definidos antes de as utilizar. 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 tira partido da arquitetura de escalamento horizontal do HBase para fornecer fragmentação automática de tabelas, consistência forte para leituras e escritas e ativação pós-falha automática. 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, vai querer criar o cluster do HBase dentro de uma rede virtual para que outros clusters e aplicações do HDInsight possam aceder diretamente às tabelas.

Azure Data Explorer

O Azure Data Explorer é um serviço de exploração de dados rápido e altamente dimensionável para dados de registo e telemetria. Ajuda-o a lidar com os muitos fluxos de dados emitidos pelo software moderno para que possa recolher, 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 facilita a ingestão destes dados e permite-lhe fazer consultas ad hoc complexas nos dados em segundos.

O Azure Data Explorer pode ser aumentado horizontalmente linearmente para aumentar o débito de ingestão e processamento de consultas. Um cluster do Azure Data Explorer pode ser implementado num Rede Virtual para ativar redes privadas.

Principais critérios de seleção

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

  • Precisa de armazenamento gerido, de alta velocidade e baseado na cloud para qualquer tipo de texto ou dados binários? Se sim, selecione uma das opções de armazenamento ou análise de ficheiros.

  • Precisa de armazenamento de ficheiros otimizado para cargas de trabalho de análise paralela e débito/IOPS elevados? Se sim, escolha uma opção otimizada para o desempenho da carga de trabalho de análise.

  • Precisa de armazenar dados não estruturados ou semiestruturados numa base de dados sem esquemas? Se for o caso, selecione uma das opções não relacionais ou analíticas. Comparar opções para indexação e modelos de base de dados. Consoante o tipo de dados que precisa de armazenar, os modelos de base de dados primária podem ser o maior fator.

  • Pode utilizar o serviço na sua região? Verifique a disponibilidade regional de cada serviço do Azure. Veja Produtos disponíveis por região.

Matriz de capacidade

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

Capacidades de armazenamento de ficheiros

Funcionalidade Armazenamento do Azure Data Lake Ger1 Armazenamento de Blobs do Azure contentores
Objetivo Armazenamento otimizado para cargas de trabalho de análise de macrodados Arquivo de objetos para fins gerais para uma grande variedade de cenários de armazenamento
Casos de utilização Batch, análise de transmissão em fluxo e dados de machine learning, como ficheiros de registo, dados de IoT, clique em fluxos, grandes conjuntos de dados Qualquer tipo de texto ou dados binários, como back-end da aplicação, dados de cópia de segurança, armazenamento de multimédia para transmissão em fluxo e dados para fins gerais
Estrutura Sistema de ficheiros hierárquico Arquivo de objetos com espaço de nomes simples
Autenticação Com base nas Identidades do Azure Active Directory Com base em segredos partilhados , Chaves de Acesso à Conta e Chaves de Assinatura de Acesso Partilhado e controlo de acesso baseado em funções do Azure (RBAC do Azure)
Protocolo de autenticação OAuth 2.0. As chamadas têm de conter um JWT (token Web JSON) válido emitido pelo Azure Active Directory 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 controlo de acesso POSIX (ACLs). As ACLs baseadas em identidades do Azure Active Directory podem ser definidas ao nível do ficheiro e da pasta. Para autorização ao nível da conta, utilize Chaves de Acesso de Conta. Para autorização de conta, contentor ou blob, utilize Chaves de Assinatura de Acesso Partilhado.
Auditoria Disponível. Disponível
Encriptação de dados inativos Transparente, lado do servidor Transparente, lado do servidor; Encriptação do lado do cliente
SDKs para Programadores .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, Débito Elevado e IOPS Não otimizado para cargas de trabalho de análise
Limites de tamanho Sem limites para tamanhos de conta, tamanhos de ficheiros ou número de ficheiros Limites específicos documentados aqui
Georredundância Localmente redundante (LRS), globalmente redundante (GRS), acesso de leitura globalmente redundante (RA-GRS), com redundância entre zonas (ZRS). Localmente redundante (LRS), globalmente redundante (GRS), acesso de leitura globalmente redundante (RA-GRS), com redundância entre zonas (ZRS). Veja aqui para obter mais informações

Capacidades da base de dados NoSQL

Funcionalidade Azure Cosmos DB HBase no HDInsight
Modelo de base de dados principal Arquivo de documentos, gráfico, arquivo de chave-valor, arquivo de colunas largo Arquivo de colunas largo
Índices secundários Yes No
Suporte de linguagem SQL Yes Sim (com o controlador Phoenix JDBC)
Consistência Forte, estagnação limitada, sessão, prefixo consistente, eventual Forte
Integração de Funções do Azure nativos Sim No
Distribuição global automática Sim Nãoé possível configurar nenhuma replicação de cluster do HBase entre regiões com consistência eventual
Modelo preços Unidades de pedido dimensionáveis elásticas (RUs) cobradas por segundo, conforme necessário, armazenamento dimensionável elasticamente Preços por minuto do cluster do HDInsight (dimensionamento horizontal de nós), armazenamento

Capacidades de bases de dados analíticas

Funcionalidade Azure Data Explorer
Modelo de base de dados principal Relacional (arquivo de colunas), telemetria e arquivo de séries de tempo
Suporte de linguagem SQL Yes
Modelo preços Instâncias de cluster dimensionáveis elasticamente
Autenticação Com base nas identidades do Azure Active Directory
Encriptação de dados inativos Chaves suportadas geridas pelo cliente
Desempenho da carga de trabalho de análise Desempenho otimizado para cargas de trabalho de análise paralela
Limites de tamanho Linearmente dimensionável

Contribuidores

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

Autor principal:

Passos seguintes