Analise seus dados

Last reviewed 2023-08-08 UTC

Neste documento, o framework de arquitetura do Google Cloud explica alguns dos princípios básicos e práticas recomendadas para análise de dados no Google Cloud. Você aprenderá sobre alguns dos principais serviços de análise de dados e como eles podem ajudar nos vários estágios do ciclo de vida de dados. Essas práticas recomendadas ajudam você a atender às suas necessidades de análise de dados e criar o design do sistema.

Princípios básicos

As empresas querem analisar dados e gerar insights úteis com base neles. O Google Cloud oferece vários serviços que ajudam você em todo o ciclo de vida dos dados, desde a ingestão de dados até os relatórios e a visualização. A maioria desses serviços é totalmente gerenciada, e alguns deles são sem servidor. Também é possível criar e gerenciar um ambiente de análise de dados em VMs do Compute Engine, como a auto-hospedagem do Hadoop do Apache ou Beam.

Seu foco específico, experiência em equipe e visão estratégica ajuda a determinar quais serviços do Google Cloud você adota para atender às suas necessidades de análise de dados. Por exemplo, o Dataflow permite gravar transformações complexas em uma abordagem sem servidor, mas você precisa depender de uma versão opinativa das configurações para necessidades de computação e processamento. Como alternativa, o Dataproc permite executar as mesmas transformações, mas você gerencia os clusters e ajusta os jobs por conta própria.

No design do sistema, pense na estratégia de processamento que suas equipes usam, como extrair, transformar, carregar (ETL) ou extrair, carregar, transform (ELT). O design do sistema também considera se você precisa processar análises em lote ou de streaming. O Google Cloud oferece uma plataforma de dados unificada e permite que você crie um data lake ou um armazenamento de dados para atender aos seus negócios necessidades.

Principais serviços

A tabela a seguir fornece uma visão geral de alto nível dos serviços de análise do Google Cloud:

Serviço do Google Cloud Descrição
Pub/Sub Base simples, confiável e escalonável para análise de stream e sistemas de computação orientados por eventos.
Dataflow Um serviço totalmente gerenciado para transformar e enriquecer dados em modos de stream (tempo real) e lote (histórico).
Dataprep by Trifacta Serviço de dados inteligente para explorar, limpar e preparar visualmente dados estruturados e não estruturados para análise.
Dataproc Um serviço de nuvem rápido, fácil de usar e totalmente gerenciado para executar clusters do Apache Spark e Apache Hadoop.
Cloud Data Fusion Serviço de integração de dados totalmente gerenciado, criado para a nuvem e permite criar e gerenciar pipelines de dados ETL/ELT. Ele fornece uma interface gráfica e uma ampla biblioteca de código aberto de transformações e conectores pré-configurados.
BigQuery Armazenamento de dados sem servidor totalmente gerenciado e de baixo custo escalonável de acordo com suas necessidades de armazenamento e potência de computação. O BigQuery é um banco de dados ANSI SQL em colunas que pode analisar terabytes a petabytes de dados.
Cloud Composer Serviço de orquestração de fluxo de trabalho totalmente gerenciado que permite criar, programar e monitorar pipelines que abrangem nuvens e data centers no local.
Data Catalog Serviço de metadados escalonável e totalmente gerenciado que ajuda a descobrir, gerenciar e entender todos os dados.
Looker Studio Serviço de análise visual totalmente gerenciado que pode ajudar você a extrair insights de dados por meio de painéis interativos.
Looker Plataforma empresarial que conecta, analisa e visualiza dados em ambientes com várias nuvens.
Formulário de dados Produto totalmente gerenciado para ajudar você a colaborar, criar e implantar pipelines de dados e garantir a qualidade dos dados.
Dataplex Serviço de data lake gerenciado que gerencia, monitora e rege dados em data lakes, armazenamentos de dados e data marts usando controles consistentes.
AnalyticsHub Plataforma que troca recursos de análise de dados de maneira eficiente e segura em toda a organização para enfrentar desafios de confiabilidade e custo de dados.

Ciclo de vida dos dados

Ao criar o design do sistema, é possível agrupar os serviços de análise de dados do Google Cloud relacionados à movimentação geral de dados em qualquer sistema ou ao redor do ciclo de vida dos dados.

O ciclo de vida dos dados inclui os estágios e os serviços de exemplo a seguir:

Os estágios e serviços a seguir são executados em todo o ciclo de vida dos dados:

  • A integração de dados inclui serviços como o Data Fusion.
  • Gerenciamento de metadados e governança inclui serviços como o Data Catalog.
  • O gerenciamento de fluxo de trabalho inclui serviços como o Cloud Composer.

Ingestão de dados

Aplique as práticas recomendadas de ingestão de dados a seguir ao seu ambiente.

Determinar a fonte de dados para processamento

Os dados geralmente vêm de outro provedor ou serviço de nuvem ou de um local:

Pense em como você quer processar seus dados depois de ingeri-los. Por exemplo, o serviço de transferência do Cloud Storage grava apenas dados em um bucket do Cloud Storage e o serviço de transferência de dados do BigQuery grava dados apenas em um conjunto de dados do BigQuery. O Cloud Data Fusion é compatível com vários destinos.

Identificar fontes de dados de streaming ou em lote

Considere como é necessário usar seus dados e identificar onde há casos de uso de streaming ou em lote. Por exemplo, se você executar um serviço de streaming global com requisitos de baixa latência, poderá usar o Pub/Sub. Se você precisar dos dados para fins de análise e geração de relatórios, é possível fazer streaming de dados para o BigQuery.

Se você precisar fazer streaming de dados de um sistema como o Apache Kafka em um ambiente local ou outro ambiente de nuvem, use o Kafka para o BigQuery Dataflow. Para cargas de trabalho em lote, o primeiro passo geralmente é ingerir dados no Cloud Storage. Use a ferramenta gsutil ou o Serviço de transferência do Cloud Storage para ingerir dados.

Ingerir dados com ferramentas automatizadas

Mover dados manualmente de outros sistemas para a nuvem pode ser um desafio. Se possível, use ferramentas que permitam automatizar os processos de ingestão de dados. Por exemplo, o Cloud Data Fusion fornece conectores e plug-ins para trazer dados de fontes externas com uma GUI de arrastar e soltar. Se as equipes quiserem escrever código, o Data Flow ou o BigQuery pode ajudar a automatizar a ingestão de dados. O Pub/Sub pode ajudar tanto em uma abordagem com poucos códigos quanto no primeiro código. Para ingerir dados em buckets de armazenamento, use o gsutil para tamanhos de dados de até 1 TB. Para ingerir quantidades de dados maiores que 1 TB, use o Serviço de transferência do Cloud Storage.

Usar ferramentas de migração para ingerir de outro armazenamento de dados

Se precisar migrar de outro sistema de armazenamento de dados, como o Teradata, o Netezza ou o Redshift, use a ajuda de migração do serviço de transferência de dados do BigQuery. O serviço de transferência de dados do BigQuery também fornece transferências de terceiros que ajudam a ingerir dados de uma programação de fontes externas. Para mais informações, consulte as abordagens detalhadas de migração para cada armazenamento de dados.

Estimar suas necessidades de ingestão de dados

O volume de dados que você precisa ingerir ajuda a determinar qual serviço usar no design do sistema. Para ingestão de dados de streaming, o Pub/Sub é escalonado para dezenas de gigabytes por segundo. A capacidade, o armazenamento e os requisitos regionais para seus dados ajudam a determinar se o Pub/Sub Lite é uma opção melhor para o design do sistema. Para mais informações, consulte Como escolher o Pub/Sub ou o Pub/Sub Lite.

Para ingestão de dados em lote, estime o total de dados que você quer transferir e a velocidade com que quer fazer isso. Analise as opções de migração disponíveis, incluindo uma estimativa de tempo e uma comparação de transferências on-line e off-line.

Usar ferramentas adequadas para ingerir dados regularmente em uma programação;

Com o Serviço de transferência do Cloud Storage e o Serviço de transferência de dados do BigQuery, é possível programar jobs de ingestão. Para um controle refinado do tempo de ingestão ou do sistema de origem e destino, use um sistema de gerenciamento de fluxo de trabalho como o Cloud Composer. Para uma abordagem mais manual, use o Cloud Scheduler e o Pub/Sub para acionar uma função do Cloud Functions.
Se você quiser gerenciar a infraestrutura do Compute, use o comando gsutil com o cron para a transferência de dados de até 1 TB. Se você usa essa abordagem manual em vez do Cloud Composer, siga as práticas recomendadas para criar scripts de transferências de produção.

Analise as necessidades de ingestão de dados do servidor FTP/SFTP

Se você precisar de um ambiente sem código para ingerir dados de um servidor FTP/SFTP, use os plug-ins de cópia FTP. Se quiser modernizar e criar uma solução de fluxo de trabalho de longo prazo, o Cloud Composer é um serviço totalmente gerenciado que permite ler e gravar em várias origens e coletores.

Usar os conectores do Apache Kafka para ingerir dados

Se você usa Pub/Sub, Dataflow ou BigQuery, pode ingerir dados usando um dos conectores do Apache Kafka. Por exemplo, o conector do Kafka do Pub/Sub de código aberto permite ingerir dados do Pub/Sub ou do Pub/Sub Lite.

Outros recursos

Armazenamento de dados

Aplique as práticas recomendadas de armazenamento de dados a seguir ao seu ambiente.

Escolha o armazenamento de dados adequado para suas necessidades

Para ajudar você a escolher que tipo de solução de armazenamento usar, analise e entenda o uso downstream dos seus dados. Os seguintes casos de uso comuns dos seus dados recomendam qual produto do Google Cloud usar:

Caso de uso de dados Recomendação de produto
Baseada em arquivo Filestore
Baseados em objeto Cloud Storage
Baixa latência Bigtable
Série temporal Bigtable
Cache on-line Memorystore
Processamento de transações Cloud SQL
Business Intelligence (BI) e análise BigQuery
Processamento em lote Cloud Storage

Bigtable se os dados de entrada forem séries temporais e você precisar de acesso de baixa latência a eles.

BigQuery se você usar SQL.

Analisar as necessidades de estrutura de dados

Para a maioria dos dados não estruturados, como documentos e arquivos de texto, áudio e vídeo ou registros, um armazenamento baseado em objeto é a escolha mais adequada. Em seguida, você pode carregar e processar os dados do armazenamento de objetos quando necessário.

Para dados semiestruturados, como XML ou JSON, seus casos de uso e padrões de acesso a dados ajudam a orientar sua escolha. É possível carregar esses conjuntos de dados no BigQuery para detecção automática de esquema. Se você tiver requisitos de baixa latência, poderá carregar os dados JSON no Bigtable. Se você tem requisitos legados ou seus aplicativos funcionam com bancos de dados relacionais, também é possível carregar conjuntos de dados em um armazenamento relacional.

Para dados estruturados, como CSV, Parquet, Avro ou ORC, você poderá usar o BigQuery se tiver requisitos de BI e análise que usam SQL. Para mais informações, consulte Como carregar dados em lote. Se você quiser criar um data lake em padrões e tecnologias abertos, use o Cloud Storage.

Migrar dados e reduzir custos para o HDFS

Procure maneiras de mover dados do Hadoop Distributed File System (HDFS) do local ou de outro provedor de nuvem para um sistema de armazenamento de objetos mais barato. O Cloud Storage é a opção mais comum que as empresas fazem como um armazenamento de dados alternativo. Para informações sobre as vantagens e desvantagens dessa escolha, consulte HDFS vs. Cloud Storage.

Você pode mover dados com um método push ou pull. Os dois métodos usam o comando hadoop distcp. Para mais informações, consulte Como migrar dados do HDFS no local para o Google Cloud.

Também é possível usar o conector do Cloud Storage (em inglês) de código aberto para permitir que jobs do Hadoop e do Spark acessem dados no Cloud Storage. O conector é instalado por padrão nos clusters do Dataproc e pode ser instalado manualmente em outros clusters.

Use o armazenamento de objetos para criar um data lake coeso

O data lake é um repositório centralizado projetado para armazenar, processar e proteger grandes quantidades de dados estruturados, semiestruturados e não estruturados. É possível usar o Cloud Composer e o Cloud Data Fusion para criar um data lake.

Para criar uma plataforma de dados moderna, é possível usar o BigQuery como sua fonte de dados central em vez do Cloud Storage. O BigQuery é um armazenamento de dados moderno com separação de armazenamento e computação. Um data lake criado no BigQuery permite executar análises tradicionais do BigQuery no Console do Cloud. Ela também permite acessar os dados armazenados de outros frameworks, como o Apache Spark.

Outros recursos

Processar e transformar dados

Aplique as práticas recomendadas de análise de dados a seguir ao seu ambiente quando processar e transformar dados.

Explorar o software de código aberto que é possível usar no Google Cloud

Muitos serviços do Google Cloud usam software de código aberto para facilitar a transição. O Google Cloud oferece soluções gerenciadas e sem servidor que têm APIs abertas e são compatíveis com frameworks de código aberto para reduzir a dependência de um único fornecedor.

O Dataproc é um serviço gerenciado compatível com Hadoop que permite hospedar softwares de código aberto, com pouco ônus operacional. O Dataproc inclui suporte para Spark, Hive, Pig, Presto e Zookeeper. Ele também fornece o Metastore do Hive como um serviço gerenciado para se remover como um ponto único de falha no ecossistema do Hadoop.

É possível migrar para o Dataflow se você usa o Apache Beam como um mecanismo de processamento em lote e de streaming. O Dataflow é um serviço totalmente gerenciado e sem servidor que usa o Apache Beam. Use o Dataflow para gravar jobs no Beam, mas deixe o Google Cloud gerenciar o ambiente de execução.

Se você usa o CDAP como plataforma de integração de dados, é possível migrar para o Cloud Data Fusion para uma experiência totalmente gerenciada.

Determinar as necessidades de processamento de dados ETL ou ELT

A experiência e as preferências da equipe ajudam a determinar o design do sistema para o processamento de dados. O Google Cloud permite usar sistemas de processamento de dados ETL tradicional ou ELT mais moderno (em inglês).

Usar a estrutura apropriada para seu caso de uso de dados

Seus casos de uso de dados determinam quais ferramentas e frameworks serão usados. Alguns produtos do Google Cloud são criados para lidar com todos os casos de uso de dados a seguir, enquanto outros são compatíveis apenas com um caso de uso específico.

  • Para um sistema de processamento de dados em lote, é possível processar e transformar dados no BigQuery com uma interface SQL familiar. Se você tiver um pipeline atual executado no Apache Hadoop ou Spark no local ou em outra nuvem pública, será possível usar o Dataproc.
    • Também é possível usar o Dataflow se você quiser uma interface de programação unificada para casos de uso em lote e de streaming. Recomendamos modernizar e usar o Dataflow para ETL e BigQuery para ELT.
  • Para pipelines de dados de streaming, use um serviço gerenciado e sem servidor, como o Dataflow, que fornece janelas, escalonamento automático e modelos. Para mais informações, consulte Como criar pipelines de dados prontos para produção usando o Dataflow.

  • Para casos de uso em tempo real, como análise de séries temporais ou análise de streaming de vídeo, use o Dataflow.

Mantenha o controle futuro sobre o mecanismo de execução

Para minimizar a dependência de fornecedores e poder usar uma plataforma diferente no futuro, use o Modelo de programação do Apache Beam e Dataflow como uma solução sem servidor gerenciada. O modelo de programação do Beam permite alterar o mecanismo de execução subjacente, como alterar do Dataflow para Apache Flink ou Apache Spark (em inglês).

Usar o Dataflow para processar dados de várias fontes

Para ingerir dados de várias fontes, como Pub/Sub, Cloud Storage, HDFS, S3 ou Kafka, use o Dataflow. O Dataflow é um serviço gerenciado sem servidor compatível com modelos do Dataflow, que permite às equipes executar modelos de diferentes ferramentas.

O Dataflow Prime oferece escalonamento automático horizontal e vertical de máquinas usadas no processo de execução de um pipeline. Ela também fornece diagnósticos e recomendações inteligentes que identificam problemas e sugerem como corrigi-los.

Descubra, identifique e proteja dados sensíveis

Use a Proteção de dados confidenciais para inspecionar e transformar dados estruturados e não estruturados. A proteção de dados confidenciais funciona para dados localizados em qualquer lugar no Google Cloud, como no Cloud Storage ou em bancos de dados. É possível classificar, mascarar e tokenizar seus dados confidenciais para continuar a usá-los com segurança no processamento downstream. Use a Proteção de dados sensíveis para executar ações como verificar dados do BigQuery ou desidentificar e reidentificar PII em conjuntos de dados de grande escala.

Modernize os processos de transformação de dados

Use o Dataform para gravar transformações de dados como código e começar a usar o controle de versão por padrão. Também é possível adotar práticas recomendadas de desenvolvimento de software, como CI/CD, testes de unidade e controle de versão para o código SQL. O Dataform é compatível com todos os principais produtos e bancos de dados de armazenamento de dados na nuvem, como o PostgreSQL.

Outros recursos

Análise de dados e armazenamentos

Aplique as seguintes práticas recomendadas de análise de dados e armazenamento ao seu ambiente.

Analisar suas necessidades de armazenamento de dados

Data lakes e armazenamentos de dados não são mutuamente exclusivos. Os data lakes são úteis para armazenamento e processamento de dados não estruturados e semiestruturados. Os armazenamentos de dados são melhores para análise e BI.

Revise as necessidades de dados para determinar onde armazenar os dados e qual produto do Google Cloud é o mais apropriado para processar e analisar os dados. Produtos como o BigQuery podem processar PBs de dados e crescer com suas demandas.

Identificar oportunidades de migrar de um armazenamento de dados tradicional para o BigQuery

Revise os armazenamentos de dados tradicionais que estão em uso atualmente no seu ambiente. Para reduzir a complexidade e possivelmente reduzir os custos, identifique oportunidades de migrar os armazenamentos de dados tradicionais para um serviço do Google Cloud, como o BigQuery. Para mais informações e exemplos de cenários, consulte Como migrar armazenamentos de dados para o BigQuery.

Planejar o acesso federado aos dados

Revise os requisitos de dados e como pode ser necessário interagir com outros produtos e serviços. Identifique as necessidades da federação de dados e crie um design de sistema apropriado.

Por exemplo, o BigQuery permite definir tabelas externas que podem ler dados de outras fontes, como Bigtable, Cloud SQL, Cloud Storage ou Google Drive. É possível mesclar essas fontes externas com tabelas armazenadas no BigQuery.

Usar slots flexíveis do BigQuery para fornecer capacidade de burst sob demanda

Às vezes, você precisa de capacidade extra para fazer análises experimentais ou exploratórias que precisam de muitos recursos de computação. O BigQuery permite receber capacidade extra de computação na forma de slots flexíveis. Esses slots flexíveis ajudam você quando há um período de alta demanda ou quando você quer concluir uma análise importante.

Entender as diferenças de esquema se você migrar para o BigQuery

O BigQuery é compatível com esquemas star e snowflake, mas, por padrão, usa campos aninhados e repetidos. Campos repetidos e aninhados podem ser mais fáceis de ler e correlacionar em comparação com outros esquemas. Se seus dados forem representados em um esquema em estrela ou floco de neve e você quiser migrar para o BigQuery, revise o design do sistema em busca de alterações necessárias nos processos ou na análise.

Outros recursos

Relatórios e visualização

Aplique as seguintes práticas recomendadas para geração de relatórios e visualização ao seu próprio ambiente.

Usar o BigQuery BI Engine para visualizar seus dados

O BigQuery BI Engine é um serviço rápido de análise na memória. Use o BI Engine para analisar dados armazenados no BigQuery com tempo de resposta de consulta de subsegundos e alta simultaneidade. O BI Engine é integrado à API BigQuery. Use a capacidade reservada do BI Engine para gerenciar os preços sob demanda ou com taxa fixa para suas necessidades. O BI Engine também pode trabalhar com outros aplicativos de painel ou BI que exigem tempos de resposta de subsegundo.

Modernizar seus processos de BI com o Looker

O Looker é uma plataforma empresarial moderna para BI, aplicativos de dados e análise incorporada. Você pode criar modelos de dados consistentes com base nos seus dados com velocidade e precisão, além de acessar dados dentro de armazenamentos de dados transacionais e analíticos. O Looker também pode analisar os dados em vários bancos de dados e nuvens. Se você tiver ferramentas e processos de BI, recomendamos modernizar e usar uma plataforma central, como o Looker.

Outros recursos

Usar ferramentas de gerenciamento de fluxo de trabalho

A análise de dados envolve muitos processos e serviços. Movimentações de dados em diferentes ferramentas e pipelines de processamento durante o ciclo de vida de análise de dados. Para gerenciar e manter pipelines de dados completos, use ferramentas de gerenciamento de fluxo de trabalho apropriadas. O Cloud Composer é uma ferramenta de gerenciamento de fluxo de trabalho totalmente gerenciada com base no projeto de código aberto Apache Airflow.

Use o Cloud Composer para iniciar pipelines do Dataflow e usar modelos de fluxo de trabalho do Dataproc. O Cloud Composer também ajuda a criar um pipeline de CI/CD para testar, sincronizar e implantar DAGs ou usar um pipeline de CI/CD para processamento de dados fluxos de trabalho. Para mais informações, assista às práticas recomendadas de desenvolvimento do Cloud Composer.

Recursos de migração

Se você já executa uma plataforma de análise de dados e quer migrar algumas ou todas as cargas de trabalho para o Google Cloud, revise os seguintes recursos de migração para conhecer as práticas recomendadas e orientações:

A seguir

Conheça as práticas recomendadas de design de sistema para IA do Google Cloud e machine learning, incluindo as seguintes:

Explore outras categorias no Framework de arquitetura, como confiabilidade, excelência operacional e segurança, privacidade e conformidade.