Escolher um arquivo de dados analíticos no AzureChoosing an analytical data store in Azure

Num macrodados arquitetura, muitas vezes, é necessário para um dados analíticos armazenar esses dados serve processados num formato estruturado que pode ser consultado com ferramentas analíticas.In a big data architecture, there is often a need for an analytical data store that serves processed data in a structured format that can be queried using analytical tools. Arquivos de dados analíticos essa consulta de suporte de ambos os caminhos recorrentes e dados de frio-path são conhecidas coletivamente como da camada de entrega ou que serve o armazenamento de dados.Analytical data stores that support querying of both hot-path and cold-path data are collectively referred to as the serving layer, or data serving storage.

A camada de entrega lida com dados processados do caminho de acesso frequente e caminho típico.The serving layer deals with processed data from both the hot path and cold path. Na arquitetura de lambda, a camada de entrega é subdividida num que serve de velocidade camada, que armazena os dados que tem sido processados de forma incremental, e um _batch que serve o_camada, que contém a saída processada de batch.In the lambda architecture, the serving layer is subdivided into a speed serving layer, which stores data that has been processed incrementally, and a batch serving layer, which contains the batch-processed output. A camada de entrega requer suporte forte para leituras aleatórias com baixa latência.The serving layer requires strong support for random reads with low latency. Armazenamento de dados para a camada de velocidade também deve suportar escritas aleatórias, porque o carregamento de dados para este arquivo de lote introduziria atrasos indesejados.Data storage for the speed layer should also support random writes, because batch loading data into this store would introduce undesired delays. Por outro lado, o armazenamento de dados para a camada de lotes não precisa de suportar escritas aleatórias, mas batch escreve em vez disso.On the other hand, data storage for the batch layer does not need to support random writes, but batch writes instead.

Não há nenhuma única opção de gestão de dados melhores para todas as tarefas de armazenamento de dados.There is no single best data management choice for all data storage tasks. Soluções de gestão de dados diferentes estão otimizadas para diferentes tarefas.Different data management solutions are optimized for different tasks. A maioria das aplicações na cloud do mundo real e processos de grandes volumes de dados tem uma variedade de requisitos de armazenamento de dados e, muitas vezes, usam uma combinação de soluções de armazenamento de dados.Most real-world cloud apps and big data processes have a variety of data storage requirements and often use a combination of data storage solutions.

Quais são as opções ao escolher um arquivo de dados analíticos?What are your options when choosing an analytical data store?

Existem várias opções para servir de armazenamento no Azure, consoante as suas necessidades de dados:There are several options for data serving storage in Azure, depending on your needs:

Estas opções fornecem vários modelos de base de dados que estão otimizados para diferentes tipos de tarefas:These options provide various database models that are optimized for different types of tasks:

  • Chave/valor bases de dados contêm um único objeto serializado para cada valor de chave.Key/value databases hold a single serialized object for each key value. Eles são ideais para armazenar grandes volumes de dados em que pretende obter um item para um determinado valor de chave e não tiver a consulta com base nas outras propriedades do item.They're good for storing large volumes of data where you want to get one item for a given key value and you don't have to query based on other properties of the item.
  • Documento bases de dados são bases de dados de chave/valor no qual os valores estão documentos.Document databases are key/value databases in which the values are documents. Um "documento" nesse contexto é uma coleção de campos nomeados e valores.A "document" in this context is a collection of named fields and values. A base de dados normalmente armazena os dados num formato como XML, YAML, JSON ou BSON, mas pode utilizar o texto sem formatação.The database typically stores the data in a format such as XML, YAML, JSON, or BSON, but may use plain text. Documento bases de dados podem consultar em campos de sem chave e definir índices secundários para tornar mais eficiente a consultar.Document databases can query on non-key fields and define secondary indexes to make querying more efficient. Desta forma, uma base de dados de documentos mais adequada para aplicativos que precisam para recuperar os dados com base nos critérios mais complexos do que o valor da chave do documento.This makes a document database more suitable for applications that need to retrieve data based on criteria more complex than the value of the document key. Por exemplo, poderia consultar em campos, como o ID do produto, o ID de cliente ou o nome do cliente.For example, you could query on fields such as product ID, customer ID, or customer name.
  • Família de colunas bases de dados são arquivos de dados de chave/valor que a estrutura de armazenamento de dados em conjuntos de colunas relacionadas chamados famílias de colunas.Column-family databases are key/value data stores that structure data storage into collections of related columns called column families. Por exemplo, uma base de dados de censo pode ter um grupo de colunas de nome de uma pessoa (em primeiro lugar, meio, pela última vez), um grupo para o endereço da pessoa e um grupo para obter informações de perfil da pessoa (data de nascimento, sexo).For example, a census database might have one group of columns for a person's name (first, middle, last), one group for the person's address, and one group for the person's profile information (data of birth, gender). A base de dados pode armazenar cada família de colunas numa partição separada, mantendo todos os dados para uma pessoa relacionados com a mesma chave.The database can store each column family in a separate partition, while keeping all of the data for one person related to the same key. Um aplicativo pode ler uma família de coluna única sem ler todos os dados de uma entidade.An application can read a single column family without reading through all of the data for an entity.
  • Gráfico bases de dados armazenam informações como uma coleção de objetos e relações.Graph databases store information as a collection of objects and relationships. Uma base de dados pode fazer consultas eficientes que atravessem a rede de objetos e as relações entre eles.A graph database can efficiently perform queries that traverse the network of objects and the relationships between them. Por exemplo, os objetos podem ser funcionários num banco de dados de recursos humanos e talvez tenha para facilitar a consultas como "encontrar todos os funcionários que trabalham direta ou indiretamente para Scott."For example, the objects might be employees in a human resources database, and you might want to facilitate queries such as "find all employees who directly or indirectly work for Scott."

Principais critérios de seleçãoKey selection criteria

Para limitar as opções, comece por resposta a estas perguntas:To narrow the choices, start by answering these questions:

  • Precisa que serve o armazenamento que possa servir como um caminho de acesso frequente para os seus dados?Do you need serving storage that can serve as a hot path for your data? Se Sim, restrinja as opções para aqueles que estão otimizados para uma camada de entrega de velocidade.If yes, narrow your options to those that are optimized for a speed serving layer.

  • Precisa massivamente em paralelo suporte de processamento (MPP), onde as consultas automaticamente são distribuídas por vários processos ou nós?Do you need massively parallel processing (MPP) support, where queries are automatically distributed across several processes or nodes? Em caso afirmativo, selecione a opção que oferece suporte de escalamento horizontal de consulta.If yes, select an option that supports query scale out.

  • Prefere usar um arquivo de dados relacional?Do you prefer to use a relational data store? Se assim for, restrinja as opções para aqueles com um modelo de base de dados relacional.If so, narrow your options to those with a relational database model. No entanto, tenha em atenção que alguns arquivos de não-relacionais suportam a sintaxe SQL para consultar e ferramentas, como pode utilizar o PolyBase para consultar armazenamentos de dados não relacionais.However, note that some non-relational stores support SQL syntax for querying, and tools such as PolyBase can be used to query non-relational data stores.

Matriz de capacidadeCapability matrix

As tabelas seguintes resumem as principais diferenças nos recursos.The following tables summarize the key differences in capabilities.

Capacidades geraisGeneral capabilities

FuncionalidadeCapability SQL DatabaseSQL Database SQL Data WarehouseSQL Data Warehouse HBase/Phoenix no HDInsightHBase/Phoenix on HDInsight Hive LLAP no HDInsightHive LLAP on HDInsight Azure Analysis ServicesAzure Analysis Services BD do CosmosCosmos DB
É serviço geridoIs managed service SimYes SimYes Sim 1Yes 1 Sim 1Yes 1 SimYes SimYes
Modelo de base de dados primáriaPrimary database model Relacional (formato colunar quando utiliza os índices columnstore)Relational (columnar format when using columnstore indexes) Tabelas relacionais do armazenamento em colunasRelational tables with columnar storage Arquivo de colunas grandeWide column store Hive/dentro da memóriaHive/In-Memory Modelos semânticos de tabela/MOLAPTabular/MOLAP semantic models Documente a loja, gráfico, arquivo de chave-valor, arquivo de colunas grandeDocument store, graph, key-value store, wide column store
Suporte de linguagem SQLSQL language support SimYes SimYes Sim (usando Phoenix JDBC driver)Yes (using Phoenix JDBC driver) SimYes NãoNo SimYes
Otimizado para que serve a camada de velocidadeOptimized for speed serving layer Sim 2Yes 2 NãoNo SimYes SimYes NãoNo SimYes

[1] com a configuração manual e dimensionamento.[1] With manual configuration and scaling.

[2] tabelas com otimização de memória de Using e hash ou índices não em cluster.[2] Using memory-optimized tables and hash or nonclustered indexes.

Capacidades de escalabilidadeScalability capabilities

FuncionalidadeCapability SQL DatabaseSQL Database SQL Data WarehouseSQL Data Warehouse HBase/Phoenix no HDInsightHBase/Phoenix on HDInsight Hive LLAP no HDInsightHive LLAP on HDInsight Azure Analysis ServicesAzure Analysis Services BD do CosmosCosmos DB
Servidores regionais redundantes para elevada disponibilidadeRedundant regional servers for high availability SimYes SimYes SimYes NãoNo NãoNo SimYes
Suporta a consulta aumentar horizontalmenteSupports query scale out NãoNo SimYes SimYes SimYes SimYes SimYes
Escalabilidade dinâmica (aumento vertical)Dynamic scalability (scale up) SimYes SimYes NãoNo NãoNo SimYes SimYes
Suporta dentro da memória cache de dadosSupports in-memory caching of data SimYes SimYes NãoNo SimYes SimYes NãoNo

Funcionalidades de segurançaSecurity capabilities

FuncionalidadeCapability SQL DatabaseSQL Database SQL Data WarehouseSQL Data Warehouse HBase/Phoenix no HDInsightHBase/Phoenix on HDInsight Hive LLAP no HDInsightHive LLAP on HDInsight Azure Analysis ServicesAzure Analysis Services BD do CosmosCosmos DB
AutenticaçãoAuthentication SQL / Azure Active Directory (Azure AD)SQL / Azure Active Directory (Azure AD) SQL / Azure ADSQL / Azure AD local / Azure AD 1local / Azure AD 1 local / Azure AD 1local / Azure AD 1 Azure ADAzure AD os utilizadores de base de dados do Azure AD através do acesso (IAM) de controle /database users / Azure AD via access control (IAM)
Encriptação de dados inativosData encryption at rest Sim 2Yes 2 Sim 2Yes 2 Sim 1Yes 1 Sim 1Yes 1 SimYes SimYes
Segurança ao Nível da LinhaRow-level security SimYes Sim 3Yes 3 Sim 1Yes 1 Sim 1Yes 1 Sim (por meio de segurança de nível de objeto no modelo)Yes (through object-level security in model) NãoNo
Oferece suporte a firewallsSupports firewalls SimYes SimYes Sim 4Yes 4 Sim 4Yes 4 SimYes SimYes
Máscara de dados dinâmicaDynamic data masking SimYes NãoNo Sim 1Yes 1 SimYes NãoNo NãoNo

[1] requer a utilização de um cluster de HDInsight associado a um domínio.[1] Requires using a domain-joined HDInsight cluster.

[2] requer a utilização de encriptação de dados transparente (TDE) para encriptar e desencriptar os dados inativos.[2] Requires using transparent data encryption (TDE) to encrypt and decrypt your data at rest.

[3] apenas predicados de filtro de.[3] Filter predicates only. Consulte segurança ao nível da linhaSee Row-Level Security

[4] quando utilizado dentro de uma rede Virtual do Azure.[4] When used within an Azure Virtual Network. Ver expandir o Azure HDInsight com uma rede Virtual do Azure.See Extend Azure HDInsight using an Azure Virtual Network.