Partilhar via


Compreender os modelos de dados

As soluções modernas lidam com diversos dados, como transações, eventos, documentos, telemetria, ativos binários e fatos analíticos. Um único armazenamento de dados raramente satisfaz todos os padrões de acesso de forma eficiente. A maioria dos sistemas de produção adota persistência poliglota, o que significa que você seleciona vários modelos de armazenamento. Este artigo centraliza as definições canônicas dos modelos de armazenamento de dados primários disponíveis no Azure e fornece tabelas comparativas para acelerar a seleção de modelos antes de escolher serviços específicos.

Use as seguintes etapas para selecionar seus modelos de dados:

  1. Identifique padrões de acesso à carga de trabalho, como leituras pontuais, agregações, texto completo, semelhança, verificações de janela de tempo e entrega de objetos.

  2. Mapeie padrões para os modelos de armazenamento nas seções a seguir.

  3. Crie uma lista restrita de serviços do Azure que implementam esses modelos.

  4. Aplique critérios de avaliação, como consistência, latência, escala, governança e custo.

  5. Combine modelos apenas quando os padrões de acesso ou ciclos de vida divergirem claramente.

Como usar este guia

Cada seção de modelo inclui uma definição concisa, cargas de trabalho típicas, características de dados, cenários de exemplo e links para serviços representativos do Azure. Cada seção também inclui uma tabela para ajudá-lo a escolher o serviço do Azure certo para seu caso de uso. Em alguns casos, você pode usar outros artigos para fazer escolhas mais informadas sobre as opções de serviço do Azure. As respetivas secções modelo fazem referência a esses artigos.

Duas tabelas comparativas resumem características de modelo não relacional para ajudá-lo a avaliar rapidamente as opções sem repetir o conteúdo entre as seções.

Visão geral da classificação

Categoria Objetivo principal Exemplos típicos de serviços do Azure
Relacional (OLTP) Operações transacionais consistentes Banco de Dados SQL do Azure, Banco de Dados do Azure para PostgreSQL ou Banco de Dados do Azure para MySQL
Não relacional, como documento, chave-valor, família de colunas e gráfico Esquema flexível ou cargas de trabalho centradas no relacionamento APIs do Azure Cosmos DB, Redis Gerenciado do Azure, Cassandra Gerenciada do Azure ou HBase
Séries cronológicas Métricas e eventos com carimbo de data/hora de alta ingestão Azure Data Explorer ou Eventhouse in Fabric
Objeto e arquivo Grande armazenamento de arquivos binários ou semiestruturados Armazenamento de Blobs do Azure ou Armazenamento do Azure Data Lake
Pesquisa e indexação Texto completo e relevância em vários campos, indexação secundária Pesquisa de IA do Azure
Vector Semelhança semântica ou aproximada do vizinho mais próximo (ANN) Azure AI Search ou variantes do Azure Cosmos DB
Análise, processamento analítico on-line (OLAP), processamento paralelo massivo (MPP) Agregação histórica em larga escala ou business intelligence (BI) Microsoft Fabric, Azure Data Explorer, Azure Analysis Services, ou Azure Databricks

Observação

Um único serviço pode fornecer vários modelos, também conhecidos como multimodelos. Escolha o modelo mais adequado em vez de combinar modelos de uma forma que complique as operações.

Armazenamentos de dados relacionais

Os sistemas de gerenciamento de banco de dados relacional organizam os dados em tabelas normalizadas usando schema-on-write. Eles impõem integridade e suportam transações de atomicidade, consistência, isolamento e durabilidade (ACID) e consultas SQL avançadas.

Pontos fortes: Consistência transacional de várias linhas, junções complexas, fortes restrições relacionais e ferramentas maduras para relatórios, administração e governança.

Considerações: A escala horizontal geralmente requer fragmentação ou particionamento, e a normalização pode aumentar o custo de junção para exibições desnormalizadas com muita leitura.

Cargas de trabalho: Gerenciamento de pedidos, rastreamento de estoque, registro de livros contábeis, faturamento e relatórios operacionais.

Selecione um serviço do Azure para armazenamentos de dados relacionais

Use a tabela a seguir para ajudar a determinar qual serviço do Azure atende aos seus requisitos de caso de uso.

Serviço Melhor para Principais características Exemplo de caso de uso
Base de Dados SQL Aplicações nativas da nuvem Gerenciado, pools elásticos, Hyperscale, alta disponibilidade integrada, segurança avançada Criando um aplicativo moderno de software como serviço (SaaS) usando um back-end SQL escalável
Instância gerenciada SQL Aplicações empresariais herdadas Compatibilidade completa com SQL Server, suporte a lift-and-shift, redes virtuais, auditoria avançada Migrando um aplicativo SQL Server local usando alterações mínimas de código
Banco de dados SQL (hiperescala) Distribuição global Escalabilidade de leitura em várias regiões, replicação geográfica, dimensionamento automático rápido pt-PT: Servindo um aplicativo distribuído globalmente, que requer elevada largura de banda de leitura.
Base de Dados do Azure para PostgreSQL Cargas de trabalho analíticas de código aberto PostGIS, Hyperscale, Servidor flexível, extensões de código aberto Desenvolvendo um aplicativo de análise geoespacial usando PostgreSQL e PostGIS
Base de Dados do Azure para MySQL Aplicações Web leves Servidor flexível, compatibilidade de código aberto, econômico Hospedagem de um site de comércio eletrônico baseado em WordPress
Banco de dados SQL na plataforma Cargas de trabalho OLTP (processamento de transações online) no ecossistema Fabric Criado no mecanismo do Banco de dados SQL, escalável e integrado ao Fabric Criação de aplicativos de IA em um modelo de dados relacional operacional que inclui recursos nativos de pesquisa vetorial

Armazenamentos de dados não relacionais

Os bancos de dados não relacionais, também chamados de bancos de dados NoSQL, otimizam para esquemas flexíveis, escala horizontal e padrões específicos de acesso ou agregação. Eles normalmente relaxam alguns aspetos do comportamento relacional, como rigidez do esquema e escopo da transação, para escalabilidade ou agilidade.

Armazenamentos de dados de documentos

Use armazenamentos de dados de documentos para armazenar documentos semiestruturados, geralmente no formato JSON, onde cada documento inclui campos nomeados e dados. Os dados podem ser valores simples ou elementos complexos, como listas e sub-coleções. A flexibilidade do esquema por documento permite uma evolução gradual.

Pontos fortes: Mapeamento de objetos de aplicação natural, agregados desnormalizados, indexação de vários campos

Considerações: Crescimento do tamanho do documento, escopo transacional seletivo, necessidade de design cuidadoso da forma de dados para consultas de alta escala

Cargas de trabalho: Catálogos de produtos, gerenciamento de conteúdo, lojas de perfis

Selecione um serviço do Azure para armazenamentos de dados de documentos

  • O Azure Cosmos DB para NoSQL é um banco de dados NoSQL sem esquema e com várias regiões que tem leituras e gravações de baixa latência.

  • O Azure DocumentDB é uma base de dados distribuída globalmente que tem compatibilidade com o protocolo de ligação MongoDB e autoescalabilidade.

  • O Azure Cosmos DB in Fabric é um banco de dados NoSQL sem esquema que tem leituras e gravações de baixa latência, gerenciamento simplificado e análise de malha interna.

Use a tabela a seguir para ajudar a determinar qual serviço do Azure atende aos seus requisitos de caso de uso.

Serviço Melhor para Principais características Exemplo de caso de uso
Azure Cosmos DB para NoSQL Modelos de documentos JSON personalizados que suportam consultas semelhantes a SQL Linguagem de consulta rica, escritas em múltiplas regiões, tempo de vida (TTL), feed de alterações Criando uma plataforma SaaS multilocatária que suporta esquemas flexíveis
Azure DocumentDB Aplicativos que usam drivers MongoDB ou APIs centradas em JSON Distribuição global, autoescalabilidade, protocolo de fio nativo do MongoDB Migrando um aplicativo Node.js do MongoDB para o Azure
Azure Cosmos DB no Fabric Análise em tempo real sobre dados NoSQL Extração, transformação e carregamento automático (ETL) para o OneLake através da integração Fabric Aplicativos transacionais que incluem painéis analíticos em tempo real

Sistemas de armazenamento de dados baseados em família de colunas

Um banco de dados de família de colunas, também conhecido como banco de dados de coluna ampla, armazena dados esparsos em linhas e organiza colunas dinâmicas em famílias de colunas para oferecer suporte ao coacesso. A orientação da coluna melhora as verificações em conjuntos de colunas selecionados.

Pontos fortes: Alta taxa de transferência de gravação, recuperação eficiente de conjuntos de dados amplos ou esparsos, esquema dinâmico dentro de famílias

Considerações: Design inicial da chave de linha e família de colunas, o suporte ao índice secundário varia, a flexibilidade de consulta é menor do que a dos bancos de dados relacionais

Cargas de trabalho: Telemetria da Internet das Coisas (IoT), personalização, pré-agregação de análises, dados em grande escala no estilo de séries cronológicas quando não se utiliza um banco de dados dedicado de séries cronológicas

Selecione um serviço do Azure para armazenamentos de dados da família de colunas

Use a tabela a seguir para ajudar a determinar qual serviço do Azure atende aos seus requisitos de caso de uso.

Serviço Melhor para Principais características Exemplo de caso de uso
Instância gerenciada do Azure para Apache Cassandra Cargas de trabalho novas e migradas do Cassandra Apache Cassandra nativo gerenciado Ingestão de telemetria de dispositivo IoT que suporta compatibilidade com Cassandra
Apache HBase no HDInsight Ecossistema Hadoop, análise em lote Integração do Hadoop Distributed File System (HDFS), processamento em lote em grande escala Processamento em lote de dados do sensor em uma fábrica
Azure Data Explorer (Kusto) Telemetria de elevada ingestão, análise de séries temporais KQL, consultas ad-hoc rápidas, funções de janela de tempo Análise em tempo real para logs e métricas de aplicativos

Armazenamentos de dados de chave-valor

Um armazenamento de dados chave-valor associa cada valor de dados a uma chave exclusiva. A maioria dos armazenamentos de chave-valor suporta apenas operações simples de consulta, inserção e exclusão. Para modificar um valor parcial ou completamente, um aplicativo deve substituir os dados existentes para o valor inteiro. Na maioria das implementações, ler ou escrever um único valor é uma operação atômica.

Pontos fortes: Simplicidade, baixa latência, escalabilidade linear

Considerações: Expressividade limitada da consulta, redesenho necessário para pesquisas baseadas em valor, custo de substituição de valor grande

Cargas de trabalho: Cache, sessões, sinalizadores de recursos, perfis de usuário, pesquisas de recomendação

Selecione um serviço do Azure para armazenamentos de dados de chave-valor

  • O Azure Managed Redis é um armazenamento de dados gerenciado na memória baseado na versão mais recente do Redis Enterprise que fornece baixa latência e alta taxa de transferência.

  • O Azure Cosmos DB for Table é um armazenamento de chave-valor otimizado para acesso rápido a dados NoSQL estruturados.

  • O Azure Cosmos DB para NoSQL é um armazenamento de dados de documentos otimizado para acesso rápido a dados NoSQL estruturados e fornece escalabilidade horizontal.

Use a tabela a seguir para ajudar a determinar qual serviço do Azure atende aos seus requisitos de caso de uso.

Serviço Melhor para Principais características Exemplo de caso de uso
Azure Managed Redis Cache de alta velocidade, estado da sessão, publicação-assinatura Armazenamento na memória, latência de submilissegundos, protocolo Redis Armazenamento em cache de páginas de produtos para um site de comércio eletrônico
Azure Cosmos DB para Tabelas Migrando cargas de trabalho existentes do Azure Table Storage Compatibilidade da API de armazenamento de tabela Armazenando preferências e configurações do usuário em um aplicativo móvel
Azure Cosmos DB para NoSQL Cache de alta velocidade com grande escala e alta disponibilidade Sem esquema, multirregião, dimensionamento automático Cache, estado da sessão, camada de serviço

Armazenamentos de dados gráficos

Um banco de dados gráfico armazena informações como nós e bordas. As bordas definem relações, e nós e bordas podem ter propriedades semelhantes às colunas da tabela. Você pode analisar conexões entre entidades, como funcionários e departamentos.

Pontos fortes: Padrões de consulta centrados em relacionamento, travessias eficientes de profundidade variável

Considerações: Existe sobrecarga se as relações forem pouco profundas, requer modelagem cuidadosa para otimização de desempenho, e não é ideal para análises em larga escala.

Cargas de trabalho: Redes sociais, redes de fraude, gráficos de conhecimento, dependências da cadeia de suprimentos

Selecionar um serviço do Azure para armazenamentos de dados gráficos

Use as extensões de gráfico do SQL Server para armazenar dados de gráfico. A extensão gráfica estende os recursos do SQL Server, do Banco de Dados SQL e da Instância Gerenciada SQL para habilitar a modelagem e a consulta de relações complexas usando estruturas gráficas diretamente em um banco de dados relacional.

Armazenamentos de dados de séries cronológicas

Os armazenamentos de dados de séries cronológicas gerenciam um conjunto de valores organizados por tempo. Suportam funcionalidades como consultas e agregações baseadas em tempo. Estão otimizados para absorver e analisar grandes volumes de dados quase em tempo real. São bases de dados só de adição.

Pontos fortes: Compressão, ingestão de alto volume, consultas e agregações em janelas temporais, gestão de ingestão fora de ordem

Considerações: Gestão de cardinalidade de etiquetas, custo de retenção, estratégia de amostragem reduzida, linguagens de consulta especializadas

Cargas de trabalho: Métricas de sensores IoT, telemetria de aplicações, monitorização, dados industriais e dados do mercado financeiro

Selecionar um serviço do Azure para armazenamentos de dados de séries cronológicas

  • O Azure Data Explorer é uma plataforma gerida de armazenamento de big data. Use-o para consultar e visualizar grandes volumes de dados quase em tempo real. Escolha este serviço se precisar de uma solução autónoma de plataforma como serviço (PaaS) com controlo granular sobre a configuração do cluster, rede e escalabilidade.

  • O Eventhouse no Microsoft Fabric faz parte da experiência Real-Time Intelligence no Fabric. Utiliza bases de dados KQL para processar dados em tempo real. Escolha este serviço se quiser uma experiência de software como serviço (SaaS) integrada com o ecossistema Fabric, incluindo OneLake e outras cargas de trabalho Fabric.

  • Algumas bases de dados transacionais fornecem capacidades limitadas de séries temporais como parte do seu conjunto mais amplo de funcionalidades ou através de extensões. Por exemplo, o servidor flexível Azure Database for PostgreSQL suporta TimescaleDB. Selecione esta opção se precisar de consultar dados de séries temporais juntamente com dados transacionais existentes na base de dados.

Ao escolher um armazenamento de dados de séries temporais, avalie o serviço com base nas necessidades da sua carga de trabalho para:

  • Desempenho na ingestão
  • Consultas ad hoc
  • Índices adicionais para além dos campos data/hora
  • Análises de séries temporais e alertas

Armazenamento de dados de objetos

Armazene grandes objetos binários ou semiestruturados e inclua metadados que raramente mudam ou permanecem imutáveis.

Pontos fortes: Escala virtualmente ilimitada, custo hierárquico, durabilidade, capacidade de leitura paralela

Considerações: Operações de objeto inteiro, consulta de metadados limitada, eventuais comportamentos de listagem

Cargas de trabalho: Ativos de mídia, backups, zonas brutas de data lake, arquivos de log

Selecionar um serviço do Azure para armazenamentos de dados de objeto

  • O Data Lake Storage é um armazenamento de objetos otimizado para big data que combina namespace hierárquico e compatibilidade HDFS para análises avançadas e processamento de dados em larga escala.

  • O Armazenamento de Blobs é um armazenamento de objetos escalável para dados não estruturados, como imagens, documentos e backups, que inclui acesso hierárquico para otimização de custos.

Use a tabela a seguir para ajudar a determinar qual serviço do Azure atende aos seus requisitos de caso de uso.

Serviço Melhor para Principais características Exemplo de caso de uso
de armazenamento Data Lake Análise de Big Data e dados hierárquicos HDFS, namespace hierárquico, otimizado para análise Armazenar e consultar petabytes de dados estruturados e não estruturados usando Azure Data Factory ou Azure Databricks
Armazenamento de Blobs Armazenamento de objetos de uso geral Namespace plano, API REST fácil de utilizar e armazenamento hierárquico que inclui quente, frio e arquivo Hospedagem de imagens, documentos, backups e conteúdo estático do site

Pesquisa e indexação de armazenamentos de dados

Uma base de dados de motores de busca permite que as aplicações pesquisem informações em armazenamentos de dados externos. Um banco de dados de mecanismo de pesquisa pode indexar grandes volumes de dados e fornecer acesso quase em tempo real a esses índices.

Pontos fortes: Consultas de texto completo, pontuação, análise linguística, correspondência difusa

Considerações: Consistência eventual dos índices, ingestão separada ou pipeline de indexação, custo de grandes atualizações de índice

Cargas de trabalho: Pesquisa de sites ou produtos, pesquisa de logs, filtragem de metadados, descoberta de vários atributos

Selecione um serviço do Azure para armazenamentos de dados de pesquisa

Para obter mais informações, consulte Escolher um armazenamento de dados de pesquisa no Azure.

Armazenamentos de dados de pesquisa vetorial

Os armazenamentos de dados de pesquisa vetorial armazenam e recuperam representações vetoriais de dados de alta dimensão, muitas vezes geradas por modelos de aprendizado de máquina.

Pontos fortes: Pesquisa semântica, algoritmos ANN

Considerações: Complexidade da indexação, sobrecarga de armazenamento, latência versus precisão, desafios de integração

Cargas de trabalho: Pesquisa semântica de documentos, mecanismos de recomendação, recuperação de imagens e vídeos, deteção de fraudes e anomalias

Selecionar um serviço do Azure para armazenamentos de dados de pesquisa vetorial

Para obter mais informações, consulte Escolher um serviço do Azure para pesquisa vetorial.

Armazenamentos de dados do Google Analytics

Os repositórios de dados de análise armazenam big data e persistem ao longo de todo o ciclo de vida do pipeline de análise.

Pontos fortes: Computação e armazenamento escaláveis, suporte para SQL e Spark, integração com ferramentas de BI, séries cronológicas e análise de telemetria

Considerações: Custo e complexidade da orquestração, latência de consulta para cargas de trabalho ad-hoc, governança em vários domínios de dados

Cargas de trabalho: Relatórios corporativos, análise de dados massivos, agregação de telemetria, painéis operacionais, fluxos de trabalho de ciência de dados

Selecione um serviço do Azure para armazenamentos de dados de análise

Para obter mais informações, consulte Escolher um armazenamento de dados analíticos no Azure.

Características comparativas (modelos não relacionais centrais)

Aspeto Documento Família de colunas Valor-chave Graph
Normalização Desnormalizado Desnormalizado Desnormalizado Relações normalizadas
Abordagem de esquema Esquema em leitura de dados Famílias de colunas definidas, esquema de colunas em leitura Esquema em leitura de dados Esquema em leitura de dados
Consistência (típica) Ajustável para cada item Para cada linha ou família Para cada tecla Para cada aresta ou semântica transversal
Âmbito da atomicidade Documento Linha ou família, dependendo da implementação da tabela Chave única Transação de grafo (varia)
Bloqueio e concorrência Otimista (ETag) Pessimista ou otimista, dependendo da implementação Otimista (chave) Otimista (padrão)
Padrão de acesso Agregado (entidade) Agregados esparsos amplos Pesquisa de pontos por chave Percursos de Relacionamento
Indexação Primário e secundário Primário e secundário limitado Primário (chave) Primário e, por vezes, secundário
Estrutura de dados Hierarquia flexível Dados tabulares amplos esparsos Valor opaco Nós e bordas
Adequação dispersa/ampla Sim/Sim Sim/Sim Yes/No Não/Não
Tamanho típico dos dados Pequeno-médio Médio-grande Pequeno Pequeno
Dimensão da escala Contagem de partições Largura da partição e largura da família de colunas Espaço-chave Contagem de nós ou arestas

Características comparativas (modelos não relacionais especializados)

Aspeto Séries cronológicas Objeto (blob) Pesquisa/Indexação
Normalização Normalizado Desnormalizado Desnormalizado
Schema Esquema na leitura ("tags") Valor opaco e metadados Esquema no momento da gravação (mapeamento de índice)
Âmbito da atomicidade N/A (apêndice) Objeto Para cada documento ou operação de índice
Padrão de acesso Varreduras de segmentos de tempo, agregação em janelas Operações de objeto inteiro Consultas e filtros de texto
Indexação Tempo e opções secundárias opcionais Apenas a chave (do caminho) Facetas invertidas e opcionais
Estrutura de dados Tabela (timestamp, etiquetas, valor) Binário ou blob com metadados Texto tokenizado e campos estruturados
Escrever perfil Anexação de alta velocidade Atualizações em massa ou pouco frequentes Índice em lote ou em streaming
Ler perfil Intervalos agregados Downloads totais ou parciais Conjuntos de resultados classificados
Motor de crescimento Taxa de eventos multiplicada pela retenção Contagem e tamanho do objeto Volume de documentos indexados
Tolerância à consistência Eventual por dados atrasados Leitura após gravação para cada objeto Eventual para novos documentos

Escolha entre modelos (heurística)

Necessidade Prefira
Transações rigorosas envolvendo múltiplas entidades Relacional
Evolução da forma agregada, APIs centradas em JSON Documento
Consultas de chave de latência extremamente baixa ou cache Valor-chave
Telemetria abrangente, dispersa e com forte carga de gravação Família de colunas ou séries cronológicas
Percurso profundo de relacionamentos Graph
Varreduras analíticas históricas massivas Analytics ou OLAP
Grandes binários não estruturados ou zonas lacustres Objeto
Relevância e filtragem do texto completo Pesquisa e indexação
Métricas de carimbo de data/hora com alta taxa de ingestão em consultas de janela Séries cronológicas
Semelhança rápida (semântica ou vetorial) Pesquisa vetorial

Combine modelos e evite armadilhas

Use mais de um modelo quando os seguintes cenários se aplicarem:

  • Os padrões de acesso divergem, como pesquisa pontual versus ampla varredura analítica versus relevância de texto completo.
  • O ciclo de vida e a retenção diferem, como nos casos de dados brutos imutáveis em comparação com os dados estruturados organizados.
  • Conflito de requisitos de latência versus taxa de transferência.

Evitar a fragmentação prematura:

  • Use um serviço quando ele ainda atender aos objetivos de desempenho, escala e governança.
  • Centralize a lógica de classificação que é compartilhada e evite pipelines de transformação duplicados entre lojas, a menos que seja necessário.

Preste atenção aos seguintes antipadrões comuns:

  • Vários microsserviços compartilham um banco de dados, o que cria acoplamento.
  • As equipas adicionam outro modelo sem maturidade operacional, tal como a monitorização ou os backups.
  • Um índice de pesquisa torna-se o armazenamento de dados primário, o que leva ao uso indevido.

Quando reavaliar a sua escolha de modelo

Sinal Ação possível
Aumentar as junções ad-hoc num arquivo de documentos Introduzir modelo de leitura relacional
Elevado uso de CPU no motor de busca devido a agregações analíticas. Descarga para o mecanismo de análise
Grandes documentos desnormalizados criam contenção parcial de atualização Remodelar agregados ou dividir
Consultas por intervalo de tempo lentas no armazenamento por família de colunas Adote um banco de dados de séries cronológicas criado especificamente
A latência de pesquisa de pontos aumenta com a profundidade transversal do gráfico Adicionar vistas materializadas derivadas

Próximos passos

Use os seguintes artigos para escolher um armazenamento de dados especializado:

Saiba mais sobre as arquiteturas de referência que usam os serviços do Azure neste artigo: