Guia de Arquitetura de Dados do AzureAzure Data Architecture Guide

Este guia apresenta uma abordagem estruturada para a criação de soluções centradas em dados no Microsoft Azure.This guide presents a structured approach for designing data-centric solutions on Microsoft Azure. Ele se baseia em práticas comprovadas obtidas em engajamentos com clientes.It is based on proven practices derived from customer engagements.

IntroduçãoIntroduction

A nuvem está mudando a maneira como os aplicativos são criados, incluindo como os dados são processados e armazenados.The cloud is changing the way applications are designed, including how data is processed and stored. Em vez de um único banco de dados de uso geral que manipula todos os dados da solução, as soluções de persistência poliglota usam vários armazenamentos de dados especializados, cada um otimizado para fornecer funcionalidades específicas.Instead of a single general-purpose database that handles all of a solution's data, polyglot persistence solutions use multiple, specialized data stores, each optimized to provide specific capabilities. A perspectiva sobre os dados na solução muda como resultado disso.The perspective on data in the solution changes as a result. Não existem mais várias camadas de lógica de negócios que leem e gravam em uma única camada de dados.There are no longer multiple layers of business logic that read and write to a single data layer. Em vez disso, as soluções são projetadas em torno de um pipeline de dados que descreve como os dados fluem por uma solução, o local em que são processados, o local em que são armazenados e como eles são consumidos pelo próximo componente do pipeline.Instead, solutions are designed around a data pipeline that describes how data flows through a solution, where it is processed, where it is stored, and how it is consumed by the next component in the pipeline.

Como este guia é estruturadoHow this guide is structured

Este guia é estruturado em torno de duas categorias gerais de solução de dados, cargas de trabalho do RDBMS tradicional e soluções de Big Data.This guide is structured around two general categories of data solution, traditional RDBMS workloads and big data solutions.

Cargas de trabalho do RDBMS tradicional.Traditional RDBMS workloads. Entre as cargas de trabalho estão o OLTP (processamento de transações online) e o OLAP (processamento analítico online).These workloads include online transaction processing (OLTP) and online analytical processing (OLAP). Os dados em sistemas OLTP geralmente são relacionais, com um esquema predefinido e um conjunto de restrições para manter a integridade referencial.Data in OLTP systems is typically relational data with a predefined schema and a set of constraints to maintain referential integrity. Muitas vezes, dados de várias origens da organização podem ser consolidados em um data warehouse, usando um processo de ETL para mover e transformar os dados de origem.Often, data from multiple sources in the organization may be consolidated into a data warehouse, using an ETL process to move and transform the source data.

Cargas de trabalho do RDBMS tradicional

Soluções de Big Data.Big data solutions. Uma arquitetura de Big Data foi projetada para lidar com ingestão, processamento e análise de dados grandes ou complexos demais para sistemas de banco de dados tradicionais.A big data architecture is designed to handle the ingestion, processing, and analysis of data that is too large or complex for traditional database systems. Os dados podem ser processados em lote ou em tempo real.The data may be processed in batch or in real time. Soluções de Big Data geralmente envolvem uma grande quantidade de dados não relacionais, como dados de valor-chave, documentos JSON ou dados de série temporal.Big data solutions typically involve a large amount of non-relational data, such as key-value data, JSON documents, or time series data. Muitas vezes, sistemas de RDBMS tradicional não são apropriados para armazenar esse tipo de dados.Often traditional RDBMS systems are not well-suited to store this type of data. O termo NoSQL se refere a uma família de bancos de dados projetada para armazenar dados não relacionais.The term NoSQL refers to a family of databases designed to hold non-relational data. O termo não é totalmente preciso, porque muitos armazenamentos de dados não relacionais oferecem suporte a consultas compatíveis com SQL.The term isn't quite accurate, because many non-relational data stores support SQL compatible queries. O termo NoSQL significa "Não apenas SQL".The term NoSQL stands for "Not only SQL".

Soluções de Big Data

Essas duas categorias não são mutuamente exclusivas, e há sobreposição entre elas, mas acreditamos que seja uma maneira útil de enquadrar a discussão.These two categories are not mutually exclusive, and there is overlap between them, but we feel that it's a useful way to frame the discussion. Dentro de cada categoria, o guia discute os cenários comuns, incluindo serviços relevantes do Azure e a arquitetura apropriada para o cenário.Within each category, the guide discusses common scenarios, including relevant Azure services and the appropriate architecture for the scenario. Além disso, o guia compara opções de tecnologia para soluções de dados no Azure, incluindo opções de código aberto.In addition, the guide compares technology choices for data solutions in Azure, including open source options. Em cada categoria, descrevemos os principais critérios de seleção e uma matriz de funcionalidades, para ajudá-lo a escolher a tecnologia certa para seu cenário.Within each category, we describe the key selection criteria and a capability matrix, to help you choose the right technology for your scenario.

Este guia não se destina a ensinar a teoria de ciência de dados ou de banco de dados — você pode encontrar livros exclusivos sobre esses temas.This guide is not intended to teach you data science or database theory — you can find entire books on those subjects. Em vez disso, a meta é ajudar você a escolher a arquitetura de dados ou o pipeline de dados certo para seu cenário e, em seguida, escolher os serviços e as tecnologias do Azure que melhor atendam aos seus requisitos.Instead, the goal is to help you select the right data architecture or data pipeline for your scenario, and then select the Azure services and technologies that best fit your requirements. Se você já tem uma arquitetura em mente, vá diretamente para as opções de tecnologia.If you already have an architecture in mind, you can skip directly to the technology choices.