Ciclo de vida dos dados

Neste artigo, descrevemos os serviços do Google Cloud que podem ser usados para gerenciar dados em todo o ciclo de vida, desde a aquisição inicial até a visualização final. Você aprenderá sobre os recursos e a funcionalidade de cada serviço para decidir melhor sobre os serviços que são mais adequados à sua carga de trabalho.

Há quatro etapas no ciclo de vida dos dados:

  • Ingerir: a primeira etapa é extrair dados brutos, como de streaming de dispositivos, dados em lote no local, registros de aplicativos ou eventos e análises de usuários de aplicativos para dispositivos móveis.

  • Armazenar: depois de recuperados, os dados precisam ser armazenados em um formato durável e facilmente acessível.

  • Processar e analisar: nessa etapa, os dados são transformados de brutos em informações acionáveis.

  • Explorar e visualizar: a etapa final é a de conversão dos resultados da análise em um formato que facilite a extração de informações e o compartilhamento com os colegas.

Em cada etapa, o Google Cloud fornece vários serviços para gerenciar seus dados. Isso significa que é possível selecionar um conjunto de serviços adaptados aos dados e ao fluxo de trabalho.

Como mapear os serviços do Google Cloud para o ciclo de vida dos dados.

Ingestão

Há diversas abordagens para a coleta de dados brutos com base no tamanho, fonte e latência deles.

  • Aplicativo: os dados de eventos de aplicativos, como arquivos de registro ou eventos de usuário, normalmente são coletados em um modelo de push. Nele, o aplicativo chama uma API para enviar os dados ao armazenamento.

  • Streaming: os dados consistem em um stream contínuo de pequenas mensagens assíncronas.

  • Lote: grandes quantidades de dados são armazenadas em um conjunto de arquivos que são transferidos em massa para o armazenamento.

No gráfico a seguir, mostramos como os serviços do Google Cloud são mapeados para cargas de trabalho de app, streaming e lote.

Mapeamento dos serviços do Google Cloud para dados de app, streaming e lote.

O modelo de transferência de dados escolhido depende da carga de trabalho. Cada modelo tem requisitos de infraestrutura diferentes.

Como ingerir dados do aplicativo

Os aplicativos e serviços geram uma quantidade significativa de dados, como registros de eventos de aplicativos, dados da sequência de cliques, interações de redes sociais e transações de comércio eletrônico. A coleta e a análise desses dados orientados por eventos podem revelar tendências dos usuários e fornecer informações comerciais valiosas.

O Google Cloud oferece uma variedade de serviços que podem ser usados para hospedar aplicativos. Desde máquinas virtuais do Compute Engine e plataformas gerenciadas do App Engine até o gerenciamento de contêineres do Google Kubernetes Engine (GKE).

Ao hospedar seus apps no Google Cloud, você tem acesso a ferramentas e processos integrados para enviar seus dados ao ecossistema avançado de serviços de gerenciamento de dados do Google Cloud.

Veja estes exemplos:

  • Gravação de dados em um arquivo: um app envia arquivos CSV em lote para o armazenamento de objetos do Cloud Storage. Desse local, a função de importação do BigQuery, que é um armazenamento de dados analítico, extrai os dados para realizar análise e consulta.

  • Gravação de dados em um banco de dados: um app grava os dados em um dos bancos de dados fornecidos pelo Google Cloud, incluindo o MySQL gerenciado do Cloud SQL ou os bancos de dados NoSQL, disponíveis no Datastore e no Cloud Bigtable.

  • Streaming de dados como mensagens: um app transmite dados para o Pub/Sub, um serviço de mensagens em tempo real. Um segundo app registrado nas mensagens transfere os dados para o armazenamento ou os processa imediatamente em situações como detecção de fraudes.

Cloud Logging: gerenciamento centralizado de registros

O Cloud Logging é um serviço centralizado de gerenciamento de registros que coleta dados de registros de apps executados no Google Cloud e em outras plataformas de nuvem pública e privada. Exporte os dados coletados pelo Cloud Logging usando ferramentas integradas que enviam os dados ao Cloud Storage, Pub/Sub e BigQuery.

Muitos serviços do Google Cloud gravam dados de registro automaticamente no Cloud Logging. Por exemplo, os apps executados no App Engine registram automaticamente os detalhes de cada solicitação e resposta ao Cloud Logging. Também é possível gravar mensagens de registro personalizadas em stdout e stderr, que são coletadas e exibidas automaticamente pelo Cloud Logging no Visualizador de registros.

O Cloud Logging inclui um agente de geração de registros, com base no fluentd, que pode ser executado em instâncias de máquina virtual (VM, na sigla em inglês) hospedadas no Compute Engine e também em clusters de contêiner gerenciados pelo GKE. O agente transmite dados de registro de apps de terceiros comuns e do software do sistema para o Cloud Logging.

Como ingerir dados de streaming

Os dados de streaming são fornecidos de modo assíncrono, sem esperar resposta, e as mensagens individuais são pequenas. Em geral, os dados de streaming são usados para telemetria, coletando dados de dispositivos dispersos geograficamente. Os dados de streaming podem ser usados para acionar disparadores de eventos, realizar análise de sessão complexa e como entrada para tarefas de aprendizado de máquina.

Estes são dois usos comuns de streaming de dados.

  • Dados de telemetria: os dispositivos de Internet das coisas (IoT, na sigla em inglês) são conectados na rede e coletam dados do ambiente próximo por meio de sensores. Cada dispositivo pode enviar apenas um ponto de dados por minuto. Porém, quando esses dados são multiplicados por muitos dispositivos, é necessário aplicar rapidamente estratégias e padrões de Big Data.

  • Análise e eventos de usuários: no app para dispositivos móveis, são registrados eventos quando o usuário abre o aplicativo e sempre que ocorre um erro ou uma falha. A agregação desses dados em todos os dispositivos móveis em que o app está instalado fornece informações importantes sobre uso, métricas e qualidade do código.

Pub/Sub: mensagens em tempo real

O Pub/Sub é um serviço de mensagens em tempo real que permite enviar e receber mensagens entre apps. Um dos principais casos de uso de mensagens entre apps é para ingerir dados de eventos de streaming. Com os dados de streaming, o Pub/Sub administra automaticamente os detalhes de fragmentação, replicação, balanceamento de carga e particionamento dos streams de dados de entrada.

A maioria dos dados de streaming é gerada por usuários ou sistemas distribuídos no mundo inteiro. O Pub/Sub tem endpoints globais e usa o balanceador de carga de front-end global do Google para oferecer suporte à ingestão de dados em todas as regiões do Google Cloud, com latência mínima. Além disso, o Pub/Sub é escalonado de maneira rápida e automática para atender à demanda, sem exigir que o desenvolvedor provisione os recursos do sistema com antecedência. Para mais detalhes sobre como o Pub/Sub é escalonado, consulte o estudo de caso do Spotify.

Os tópicos são o modo como o Pub/Sub organiza os streams de mensagens. Os dados de streaming dos apps para o Pub/Sub são direcionados a um tópico. Ao receber cada mensagem, o Pub/Sub anexa um identificador e carimbo de data/hora únicos.

Depois que os dados são ingeridos, um ou mais apps podem recuperar as mensagens usando uma assinatura de tópico. Isso pode ser feito em um modelo pull ou push. Em uma assinatura push, o servidor do Pub/Sub envia uma solicitação ao app com assinatura em um endpoint de URL pré-configurado. No modelo pull, o assinante solicita mensagens do servidor e confirma o recebimento. O Pub/Sub garante o envio de mensagens pelo menos uma vez por assinante.

O Pub/Sub não fornece garantias sobre a ordem de entrega da mensagem. A ordem rigorosa da mensagem é alcançada com o armazenamento em buffer, geralmente usando o Dataflow.

O Pub/Sub é normalmente usado para transferir dados de streaming ao Dataflow para realizar o processamento em tempo real, de acordo com o horário efetivo do evento. Quando processados, é possível mover os dados para um serviço de armazenamento permanente, como o Datastore e o BigQuery, que aceitam consultas ordenadas por carimbos de data/hora do app.

Como ingerir dados em massa

Os dados em massa consistem em grandes conjuntos de dados em que a ingestão requer alta largura de banda agregada entre um pequeno número de origens e o destino. Os dados podem ser armazenados em arquivos, como arquivos CSV, JSON, Avro ou Parquet, ou em um banco de dados relacional ou NoSQL. Os dados de origem podem ser localizados no local ou em outras plataformas da nuvem.

Considere os casos de uso de ingestão de dados em massa a seguir.

  • Cargas de trabalho científicas: fazer o upload de dados genéticos, armazenados em arquivos de texto Variant Call Format (VCF), para o Cloud Storage e importá-los posteriormente no Genomics.

  • Migração para a nuvem: mover dados armazenados em um banco de dados Oracle local para um totalmente gerenciado do Cloud SQL usando o Informatica.

  • Backup de dados: replicar dados armazenados em um bucket da AWS para o Cloud Storage usando o Serviço de transferência do Cloud Storage.

  • Importação de dados legados: copiar dados de registro de um site, de um período de dez anos, para o BigQuery e analisar tendências de longo prazo.

O Google Cloud e as empresas parceiras oferecem uma variedade de ferramentas que podem ser usadas para carregar grandes conjuntos de dados no Google Cloud.

Serviço de transferência do Cloud Storage: transferência de arquivos gerenciados

O Serviço de transferência do Cloud Storage gerencia a transferência de dados para um bucket do Cloud Storage. A origem de dados pode ser um bucket do AWS S3, um URL acessível na Web ou outro bucket do Google Cloud Storage. O Serviço de transferência do Cloud Storage destina-se à transferência em massa e é otimizado para volumes de dados maiores que 1 TB.

Um uso comum do serviço é para fazer o backup de dados. É possível fazer backup de dados de outros provedores de armazenamento para um bucket do Cloud Storage. Se preferir, mova os dados entre buckets do Cloud Storage, como para arquivar dados de um bucket do Armazenamento padrão para um bucket do Archive Storage a fim de reduzir os custos de armazenamento.

O Serviço de transferência do Cloud Storage é compatível com transferências únicas ou recorrentes. Ele fornece filtros avançados com base em datas de criação de arquivos, filtros de nome de arquivo e as horas do dia em que você prefere importar dados. Também é compatível com a exclusão dos dados de origem depois de copiados.

Serviço de transferência de dados do BigQuery: transferência de dados do aplicativo gerenciado

O serviço de transferência de dados do BigQuery automatiza a movimentação de dados de aplicativos de software como serviço (SaaS), como o Google Ads e o Google Ad Manager, de maneira programada e gerenciada, estabelecendo a base para um armazenamento de dados sem precisar escrever uma única linha de código.

A fonte dos dados podem ser aplicativos do Google, como Google Ads, Campaign Manager, Google Ad Manager e YouTube.

Depois que a transferência de dados é configurada, o serviço de transferência de dados do BigQuery carrega automaticamente os dados para o BigQuery, como rotina. Ele também é compatível com preenchimentos de dados para recuperação de quaisquer interrupções ou lacunas.

Transfer Appliance: servidor de armazenamento de alta capacidade e funcionalidade de envio

O Transfer Appliance é um servidor de armazenamento de alta capacidade do Google que pode ser alugado. Você o conecta à sua rede, carrega-o com os dados e envia-o para uma instalação de upload onde os dados são enviados para o Cloud Storage. O Transfer Appliance está disponível em vários tamanhos. Além disso, dependendo da natureza dos seus dados, é possível usar a eliminação de duplicação e a compactação para aumentar substancialmente a capacidade efetiva do aparelho.

Para determinar quando usar o Transfer Appliance, calcule o tempo necessário para fazer o upload dos seus dados com uma conexão de rede. Se julgar que isso levaria uma semana ou mais, ou se você tiver mais de 60 TB de dados, independentemente da velocidade de transferência, talvez seja mais confiável e conveniente transferi-los por meio do Transfer Appliance.

Com ele, você elimina a duplicação, compacta e criptografa seus dados capturados com criptografia AES-256 forte usando uma senha e uma senha longa. Ao ler seus dados do Cloud Storage, especifique a mesma senha e senha longa. Após cada uso do Transfer Appliance, os dados do dispositivo são excluídos permanentemente com segurança, e ele é restaurado ao estado anterior para impedir que seus dados fiquem disponíveis ao próximo usuário.

gsutil do Cloud Storage: interface de linha de comando

O Cloud Storage inclui o gsutil, um utilitário de linha de comando que pode ser usado para mover dados baseados em arquivos de qualquer sistema de arquivos atual para o Cloud Storage. Escrito em Python, o gsutil é executado em sistemas Linux, macOS e Windows. Além de mover dados para o Cloud Storage, é possível usar o gsutil para criar e gerenciar buckets do Cloud Storage, editar direitos de acesso de objetos e copiar objetos do Cloud Storage. Para mais informações sobre como usar o gsutil para ingestão de dados em lote, consulte Como criar scripts de transferências de produção.

Ferramentas de migração de banco de dados

Se os dados de origem estiverem armazenados em um banco de dados local ou hospedado por outro provedor de nuvem, será possível usar vários apps de terceiros para migrar dados em massa para o Google Cloud. Esses apps costumam ser colocados no mesmo ambiente que os sistemas de origem e fornecem transferências únicas e contínuas. Em apps como Talend e Informatica, são oferecidos recursos para extrair, transformar e carregar (ETL, na sigla em inglês) com suporte integrado ao Google Cloud.

O Google Cloud tem vários bancos de dados de destino adequados à migração de dados de bancos de dados externos.

  • Bancos de dados relacionais: é possível migrar os dados armazenados em um sistema de gerenciamento de banco de dados relacional (RDBMS, na sigla em inglês) para o Cloud SQL e o Cloud Spanner.

  • Armazenamento de dados: é possível mover os dados armazenados para o BigQuery.

  • Bancos de dados NoSQL: os dados armazenados em um banco de dados NoSQL orientado por coluna, como o HBase ou o Cassandra, podem ser migrados para o Cloud Bigtable. Os dados armazenados em um banco de dados NoSQL orientado por JSON, como o Couchbase ou o MongoDB, podem ser migrados para o Datastore.

Soluções de parceiros

Vários parceiros do Google Cloud oferecem soluções complementares focadas na movimentação de dados em massa.

  • A WANDisco fornece o LiveMigrator (em inglês), que automatiza a transferência de dados dos armazenamentos local e de rede para clusters do Dataproc.

  • A Tervela oferece o Cloud FastPath (em inglês) para automatizar a migração de dados e a sincronização do sistema de arquivos local com o Cloud Storage.

  • No Iron Mountain e no Prime Focus (links em inglês), é oferecido o recurso de carregamento de dados no Cloud Storage de mídias físicas, como unidades de disco rígido, fitas e pen drives USB.

Armazenamento

O dados têm muitas formas e tamanhos diferentes, e sua estrutura depende totalmente das origens das quais foram gerados e dos subsequentes casos de uso. Para cargas de trabalho de dados e de análise, os dados ingeridos podem ser armazenados em vários formatos ou locais.

Mapeamento dos serviços do Google Cloud para diferentes tipos de armazenamento de dados.

Como armazenar dados do objeto

Os arquivos têm um formato comum para armazenar dados, especialmente dados em massa. Com o Google Cloud, é possível fazer o upload dos dados do arquivo para o Cloud Storage, o que disponibiliza esses dados para vários outros serviços.

Cloud Storage: armazenamento de objetos gerenciado

O Google Cloud Storage oferece armazenamento de objetos durável e altamente disponível para dados estruturados e não estruturados. Por exemplo, esses dados podem ser arquivos de registros, backup de banco de dados e arquivos de exportação, imagens e outros arquivos binários. Os arquivos no Google Cloud Storage são organizados por projeto em buckets individuais. Esses buckets são compatíveis com listas de controle de acesso (ACLs, na sigla em inglês) personalizadas ou controles centralizados de gerenciamento de identidade e acesso (IAM, na sigla em inglês).

O Cloud Storage atua como uma camada de armazenamento distribuído, acessível por apps e serviços em execução no App Engine, no GKE ou no Compute Engine e por meio de outros serviços, como o Cloud Logging.

Considere os casos de uso de armazenamento de dados a seguir.

  • Backup de dados e recuperação de desastres: o Cloud Storage oferece armazenamento altamente durável e mais seguro para backup e arquivamento de dados.

  • Distribuição de conteúdo: com o Cloud Storage, é possível armazenar e entregar conteúdo. Por exemplo, o armazenamento e entrega de arquivos de mídia é escalonável.

  • Armazenamento de dados de ETL: é possível acessar os dados do Cloud Storage pelo Dataflow para transformação e carregamento em outros sistemas, como o Cloud Bigtable ou BigQuery.

  • Armazenamento de dados para jobs do MapReduce: no caso de jobs do Hadoop e do Spark, é possível acessar nativamente os dados do Cloud Storage por meio do Dataproc.

  • Armazenamento de dados de consulta: o BigQuery importa dados do Cloud Storage para conjuntos de dados e tabelas. Além disso, as consultas podem ser federadas em dados atuais sem importação. Para ter acesso direto, o BigQuery oferece suporte nativo à importação de arquivos CSV, JSON e Avro de um bucket específico do Cloud Storage.

  • Propagação de machine learning: as APIs de machine learning do Google Cloud, como a API Cloud Vision ou a API Cloud Natural Language, podem acessar dados e arquivos armazenados diretamente no Cloud Storage.

  • Arquivamento de dados frios: o Nearline, Coldline e Archive Storage oferecem baixa latência e menor custo de armazenamento para objetos que você planeja acessar menos de uma vez por mês, menos de uma vez por trimestre ou menos de uma vez por ano, respectivamente.

O Cloud Storage está disponível em várias classes, dependendo da disponibilidade e do desempenho necessários aos apps e serviços.

  • O Armazenamento padrão oferece os níveis mais altos de disponibilidade e é apropriado para armazenar dados que exigem acesso de baixa latência para dados acessados com frequência, como aqueles usados por instâncias do Compute Engine. Exemplos de casos de uso incluem exibição de conteúdo do site, cargas de trabalho de armazenamento interativo, dados compatíveis com apps para dispositivos móveis e jogos, cálculos com uso intensivo de dados e processamento de Big Data.

  • O Nearline Storage é um serviço de baixo custo e altamente durável para armazenar dados acessados menos de uma vez por mês. Ele oferece acesso rápido com tempos de resposta menores que um segundo e é útil para o arquivamento de dados, backup on-line ou casos de uso de recuperação de desastres.

  • O Coldline Storage é um serviço de custo muito baixo e altamente durável para armazenar dados que você pretende acessar menos de uma vez por trimestre. Ele oferece acesso rápido com tempos de resposta menores que um segundo e é adequado para o arquivamento de dados, backup on-line e recuperação de desastres.

  • O Archive Storage fornece um serviço de armazenamento altamente durável e de baixo custo para armazenar dados que você pretende acessar menos de uma vez por ano. O Archive Storage oferece acesso rápido aos dados, com tempos de resposta menores do que um segundo, e é ideal para arquivamento de dados, backup on-line e recuperação de desastres.

Cloud Storage para Firebase: armazenamento escalonável para desenvolvedores de apps para dispositivos móveis

O Cloud Storage para Firebase é um serviço de armazenamento de objetos simples e econômico, projetado para ser escalonado de acordo com sua base de usuários. Ele é ideal para armazenar e recuperar recursos, como imagens, áudio, vídeo e outros tipos de conteúdo gerado pelos usuários em apps para dispositivos móveis e da Web.

Com os SDKs do Firebase para Cloud Storage, os uploads e os downloads são feitos independentemente da qualidade da rede. Quando interrompidos devido a conexões instáveis, eles são reiniciados do ponto em que pararam, economizando tempo e largura de banda dos usuários. Com a integração pronta para uso com o Firebase Authentication, é possível configurar o acesso com base em nome do arquivo, tamanho, tipo de conteúdo e outros metadados.

Com o Cloud Storage para Firebase, você armazena arquivos em um bucket do Cloud Storage. Isso garante flexibilidade para fazer o upload e o download de arquivos de clientes de dispositivos móveis que usam SDKs do Firebase. Também é possível executar o processamento no servidor, como filtragem de imagens ou transcodificação de vídeo com o Google Cloud.

Para dar os primeiros passos com o Cloud Storage para Firebase, consulte a documentação. No Firebase, há SDKs para clientes iOS, Android, Web, C++ e Unity.

Como armazenar dados do banco de dados

O Google Cloud oferece uma variedade de bancos de dados, RDBMS e NoSQL, que podem ser usados para armazenar seus dados relacionais e não relacionais.

Cloud SQL: mecanismos MySQL e PostgreSQL gerenciados

O Cloud SQL é um RDBMS totalmente gerenciado, nativo da nuvem, com mecanismos MySQL e PostgreSQL e suporte integrado à replicação. É útil para cargas de trabalho baseadas em banco de dados relacionais transacionais e de baixa latência. Como é baseado no MySQL e no PostgreSQL, o Cloud SQL é compatível com as APIs padrão para conectividade. O Cloud SQL oferece backup e restauração incorporados, alta disponibilidade e réplicas de leitura.

O Cloud SQL é compatível com cargas de trabalho RDBMS de até 30 TB para MySQL e PostgreSQL. O Cloud SQL pode ser acessado de apps executados no App Engine, no GKE ou no Compute Engine. Como o Cloud SQL é baseado no MySQL e no PostgreSQL, ele é compatível com drivers de conexão padrão, frameworks de apps de terceiros, como Django e Ruby on Rails, e ferramentas de migração conhecidas. Os dados armazenados no Cloud SQL são criptografados em trânsito e em repouso. As instâncias do Cloud SQL têm suporte integrado para controle de acesso, usando firewalls de rede para gerenciar o acesso ao banco de dados.

O Cloud SQL é apropriado para cargas de trabalho típicas de processamento de transações on-line (OLTP, na sigla em inglês).

  • Transações financeiras: o armazenamento de transações financeiras exige uma semântica de banco de dados ACID. Muitas vezes, os dados estão distribuídos em várias tabelas que requerem compatibilidade com transações complexas.

  • Credenciais do usuário: o armazenamento de senhas ou outros dados confidenciais requer suporte e aplicação de campo complexo, bem como validação de esquema.

  • Pedidos do cliente: os pedidos ou as faturas costumam incluir dados relacionais altamente normalizados e compatibilidade com transações de várias tabelas na captura das mudanças de inventário.

O Cloud SQL não é um sistema de armazenamento apropriado para cargas de trabalho ou dados de processamento analítico on-line (OLAP, na sigla em inglês) que exigem esquemas dinâmicos por objeto. Se a carga de trabalho exigir esquemas dinâmicos, considere o Datastore. Para cargas de trabalho OLAP, considere o BigQuery. Se a carga exigir esquemas de colunas largas, considere o Cloud Bigtable.

Para casos de uso analítico e processamento downstream, os dados no Cloud SQL podem ser acessados de ferramentas de várias plataformas. Use o Dataflow ou o Dataproc para criar jobs ETL que extraiam dados do Cloud SQL e os insiram em outros sistemas de armazenamento.

Cloud Bigtable: NoSQL gerenciado de colunas largas

O Cloud Bigtable é um serviço de banco de dados NoSQL gerenciado e de alto desempenho, projetado para cargas de trabalho de escala terabyte a petabyte. O Cloud Bigtable foi criado na infraestrutura interna do banco de dados Bigtable do Google, que alimenta a Pesquisa Google, o Google Analytics, o Google Maps e o Gmail. O serviço oferece armazenamento consistente, de baixa latência e alto rendimento, para dados NoSQL em grande escala. O Cloud Bigtable foi criado para cargas de trabalho de aplicativos em tempo real, bem como cargas de trabalho analíticas em grande escala.

Os esquemas do Cloud Bigtable usam uma chave de linha indexada única associada a diversas colunas. Eles geralmente são estruturados como altos ou largos e as consultas são baseadas na chave de linha. O estilo do esquema depende dos casos de uso downstream. É importante considerar a localidade e a distribuição de dados de leituras e gravações para maximizar o desempenho. Os esquemas altos são muito usados para armazenar eventos de série temporal, que são dados codificados em alguma parte por um carimbo de data/hora com relativamente menos colunas por linha. Os esquemas largos seguem a abordagem oposta, um identificador simplista como a chave de linha com um grande número de colunas. Para saber mais, consulte a documentação do Projeto de esquema do Cloud Bigtable.

O Cloud Bigtable é adequado para diversas cargas de trabalho em larga escala de alta capacidade como a tecnologia de publicidade ou a infraestrutura de dados da Internet das Coisas (IoT, na sigla em inglês).

  • Dados de aplicativo em tempo real: é possível acessar o Cloud Bigtable em aplicativos em execução no ambiente flexível do App Engine, no GKE e no Compute Engine para visualizar cargas de trabalho de veiculação em tempo real.

  • Processamento de stream: à medida que os dados são ingeridos pelo Pub/Sub, o Dataflow pode ser usado para transformar e carregar os dados no Cloud Bigtable.

  • Dados da série temporal de IoT: os dados capturados por sensores e transmitidos para o Google Cloud podem ser armazenados usando esquemas de série temporal no Cloud Bigtable.

  • Cargas de trabalho da Adtech: o Cloud Bigtable pode ser usado para armazenar e rastrear impressões de anúncios, bem como uma fonte para processamento e análise de acompanhamento usando Dataproc e Dataflow.

  • Ingestão de dados: é possível usar o Dataflow ou o Dataproc para transformar e carregar dados do Cloud Storage no Cloud Bigtable.

  • Cargas de trabalho analíticas: o Dataflow pode ser usado para executar agregações complexas diretamente de dados armazenados no Cloud Bigtable. O Dataproc pode ser usado para executar tarefas de aprendizado de máquina e de processamento do Hadoop ou Spark.

  • Substituição do Apache HBase: também é possível usar o Cloud Bigtable como substituto casual de sistemas criados com o Apache HBase, um banco de dados de código aberto, baseado no documento original do Cloud Bigtable criado pelo Google. O Cloud Bigtable é compatível com as APIs HBase 1.x para que seja facilmente integrado em muitos sistemas atuais de Big Data. No Apache Cassandra, é usado um modelo de dados com base no modelo encontrado no documento do Cloud Bigtable. Isso significa que o Cloud Bigtable também é compatível com várias cargas de trabalho que utilizam uma estrutura e um esquema orientados para colunas amplas.

O Cloud Bigtable é considerado um sistema OLTP, mas não é compatível com transações de várias linhas, consultas SQL ou junções. Para esses casos de uso, considere o Cloud SQL ou o Datastore.

Spanner: banco de dados relacional com escalonamento horizontal

O Spanner é um serviço de banco de dados relacional totalmente gerenciado para apps OLTP de missão crítica. Ele é horizontalmente escalonável e projetado para garantir consistência forte, alta disponibilidade e escala global. Essa combinação de qualidades o torna único como serviço. Como o Spanner é um serviço totalmente gerenciado, concentre-se no design do app, e não na infraestrutura.

O Spanner é uma boa opção se você quer a facilidade de uso e familiaridade de um banco de dados relacional, junto à escalonabilidade normalmente associada a um banco de dados NoSQL. Como os bancos de dados relacionais, o Spanner é compatível com esquemas, transações ACID e consultas SQL (ANSI 2011). E, assim como muitos bancos de dados NoSQL, o Spanner é escalado horizontalmente em regiões, mas também pode ser escalado entre regiões em cargas de trabalho com requisitos de disponibilidade mais rigorosos. Nele também são executadas fragmentações rápidas durante a veiculação de dados com latências de milissegundo de um dígito. Os recursos de segurança no Spanner incluem criptografia de camada de dados, registro de auditoria e integração do gerenciamento de identidade e acesso (IAM).

Para começar a usá-lo, consulte a Documentação do Spanner.

Veja a seguir casos de uso típicos do Spanner.

  • Serviços financeiros: as cargas de trabalho de serviços financeiros exigem consistência forte em operações de leitura/gravação. O Spanner oferece essa consistência sem abrir mão da alta disponibilidade.

  • Ad tech: a latência é uma consideração importante no espaço de tecnologia de anúncios. O Spanner facilita a consulta de baixa latência sem comprometer a escala ou a disponibilidade.

  • Cadeia de suprimentos global e de varejo: a necessidade de escala global pode forçar os especialistas da cadeia de suprimentos a trocarem consistência por custos de manutenção. No Spanner, é oferecida replicação automática, global e síncrona com baixa latência. Isso significa que os dados são sempre consistentes e altamente disponíveis.

Firestore: banco de dados NoSQL flexível e escalonável

O Firestore é um banco de dados que armazena dados JSON. É possível sincronizar esses dados em tempo real para clientes conectados em diferentes plataformas, incluindo iOS, Android, JavaScript, dispositivos IoT e apps para computador. Se um cliente não tem conectividade de rede, com a API Firestore, seu app pode manter os dados em um disco local. Depois que a conectividade é restabelecida, o dispositivo cliente é sincronizado com o estado atual do servidor.

No Firestore, é fornecida uma linguagem de regras, flexível e baseada em expressões, além das regras de segurança do Firestore, que se integram ao Firebase Authentication para que você defina quem tem acesso a quais dados.

O Firestore é um banco de dados NoSQL com uma API que pode ser usada para criar uma experiência em tempo real que atende milhões de usuários sem comprometer a capacidade de resposta. Para facilitar esse nível de escala e tempo de resposta, é importante estruturar bem seus dados. Para começar a usar o Firestore, consulte a documentação. O Firestore tem SDKs para clientes iOS, Android, Web, C ++ e Unity.

Veja alguns casos de uso do Firestore.

  • Bate-papo e redes sociais: armazene e recupere imagens, áudio, vídeo e outros tipos de conteúdo gerado por usuários.

  • Jogos para dispositivos móveis: acompanhe o progresso do jogo e as estatísticas nos dispositivos e nas plataformas deles.

Bancos de dados do ecossistema

Além dos serviços de banco de dados fornecidos pelo Google Cloud, é possível implantar seu próprio software de banco de dados em máquinas virtuais de alto desempenho do Compute Engine com armazenamento permanente altamente escalonável. O RDBMS tradicional, como o EnterpriseDB e o Microsoft SQL Server, são compatíveis com o Google Cloud. Sistemas de banco de dados NoSQL, como MongoDB e Cassandra, também são compatíveis com configurações de alto desempenho.

Com o Cloud Marketplace, é possível implantar vários tipos de bancos de dados no Google Cloud usando imagens pré-criadas, armazenamento e configurações de rede. Os recursos de implantação, como instâncias do Compute Engine, discos permanentes e configurações de rede, podem ser diretamente gerenciados e facilmente personalizados para diferentes cargas de trabalho ou casos de uso.

Como armazenar dados de armazenamento de dados

Um armazenamento de dados armazena grandes quantidades de dados para consulta e análise em vez de processamento transacional. Para cargas de trabalho de armazenamento de dados, o Google Cloud fornece o BigQuery.

BigQuery: armazenamento de dados gerenciado

Para dados ingeridos que serão analisados em grande parte no BigQuery, armazene os dados diretamente no BigQuery, ignorando outras mídias. O BigQuery é compatível com o carregamento de dados por meio da interface da Web, ferramentas de linha de comando e chamadas da API REST.

Quando carregados em massa, os dados precisam estar nos formatos de arquivo CSV, JSON ou Avro. Use a interface da Web do BigQuery, as ferramentas de linha de comando ou as chamadas da API REST para carregar os dados desses formatos de arquivo nas tabelas do BigQuery.

Para dados de streaming, use o Pub/Sub e o Dataflow em conjunto para processar os fluxos de entrada e armazenar os dados resultantes no BigQuery. No entanto, em algumas cargas de trabalho, convém enviar os dados diretamente para o BigQuery, sem processamento adicional. Também é possível criar apps personalizados, executados no Google Cloud ou na infraestrutura local, que leiam de fontes de dados com esquemas e linhas definidos. O app personalizado pode transmitir esses dados para tabelas do BigQuery usando os SDKs do Google Cloud ou chamadas diretas da API REST.

Processar e analisar

Para extrair valor comercial e insights dos dados, transforme-os e analise-os. Isso requer uma framework de processamento que analise os dados diretamente ou os prepare para a análise downstream. Além disso, são necessárias ferramentas para analisar e entender os resultados do processamento.

  • Processamento: os dados dos sistemas de origem são limpos, normalizados e processados em várias máquinas e armazenados em sistemas analíticos.

  • Análise: os dados processados são armazenados em sistemas que possibilitam consultas e exploração ad-hoc.

  • Noções básicas: com base nos resultados analíticos, os dados são usados para treinar e testar modelos automáticos de machine learning.

O Google Cloud fornece serviços para processar dados em grande escala, analisar e consultar Big Data e entender os dados por meio do machine learning.

Processar dados em grande escala

O processamento de dados em grande escala normalmente envolve a leitura de dados de sistemas de origem, como Google Cloud Storage, Cloud Bigtable ou Cloud SQL e, em seguida, a realização de normalizações complexas ou agregações desses dados. Nos casos em que os dados são muito grandes para caber em uma única máquina, são usadas bibliotecas para gerenciar clusters de computação distribuídos e fornecer ferramentas de software que ajudam no processamento.

Mapeamento do Dataproc e do Dataflow para cargas de trabalho de processamento de dados.

Dataproc: Apache Hadoop e Apache Spark gerenciados

A capacidade de lidar com conjuntos de dados extremamente grandes evoluiu desde que o Google publicou pela primeira vez o documento do MapReduce em 2004. Muitas organizações agora carregam e armazenam dados no Hadoop Distributed File System (HDFS). Elas executam agregações, relatórios ou transformações periódicas usando ferramentas tradicionais orientadas para lote, como Hive ou Pig. O Hadoop tem um grande ecossistema para dar suporte a atividades como o aprendizado de máquina usando o Mahout, a ingestão de registro usando o Flume, as estatísticas usando R e muito mais. Os resultados desse processamento de dados baseado em Hadoop são críticos para os negócios. É um exercício não trivial para uma organização que depende desses processos para migrá-los para uma nova biblioteca.

O Spark ganhou popularidade nos últimos anos como uma alternativa ao Hadoop MapReduce. Em geral, o desempenho do Spark é consideravelmente mais rápido do que o do Hadoop MapReduce. Para conseguir isso, o Spark distribui conjuntos de dados e computação na memória em um cluster. Além do aumento de velocidade, essa distribuição permite que o Spark lide com dados de streaming usando o Spark Streaming, além de análises, transformações e agregações em lote tradicionais usando o Spark SQL e uma API simples. A comunidade do Spark é muito ativa com várias bibliotecas conhecidas, incluindo o MLlib, que pode ser usado para machine learning.

No entanto, a execução do Spark ou Hadoop em uma escala cada vez maior cria uma complexidade e sobrecarga operacionais, bem como um custo contínuo, fixo e crescente. Mesmo que um cluster só seja necessário em intervalos discretos, você ainda acaba pagando o custo de um cluster permanente. Com o Dataproc, é possível migrar as implantações atuais do Hadoop ou do Spark para um serviço totalmente gerenciado que automatiza a criação de clusters. Ele simplifica sua configuração e gerenciamento, oferece relatórios integrados de monitoramento e utilização e pode ser encerrado quando não estiver em uso.

Iniciar um novo cluster do Dataproc leva, em média, 90 segundos, o que facilita a criação de um cluster de dez nós ou até mesmo um de 1.000 nós. Isso reduz a sobrecarga operacional e de custo no gerenciamento de uma implantação do Spark ou Hadoop e ainda fornece a familiaridade e consistência de qualquer framework. O Dataproc oferece facilidade e flexibilidade para ativar os clusters do Spark ou Hadoop sob demanda quando são necessários, e para encerrá-los quando não são mais necessários. Considere os casos de uso a seguir:

  • Processamento de registros: com uma modificação mínima, processe diariamente grandes quantidades de dados de registro de texto de várias fontes usando o MapReduce atual.

  • Relatórios: agregue dados a relatórios e armazene-os no BigQuery. Depois, envie por push os dados agregados a aplicativos que potencializam painéis e realizam análises.

  • Clusters sob demanda do Spark: inicie rapidamente clusters ad-hoc para analisar dados armazenados em blobs usando o Spark (Spark SQL, PySpark e shell do Spark).

  • Machine learning: use as bibliotecas de machine learning (MLlib, na sigla em inglês) do Spark para personalizar e executar algoritmos de classificação. Elas vêm pré-instaladas no cluster.

Com o Dataproc, você também simplifica as atividades operacionais como a instalação de software ou o redimensionamento do cluster. Além disso, é possível ler dados nativamente e gravar resultados no Cloud Storage, Cloud Bigtable ou BigQuery ou no armazenamento HDFS fornecido pelo cluster. Com o Cloud Storage, o Dataproc se beneficia do acesso mais rápido aos dados e da capacidade de ter muitos clusters operando perfeitamente em conjuntos de dados sem movimentação de dados, além de eliminar a necessidade de se concentrar na replicação de dados. Essa capacidade de armazenar e verificar dados externamente possibilita tratar os clusters do Dataproc como recursos efêmeros com permanência externa, que podem ser lançados, consumidos e encerrados, conforme a necessidade.

Dataflow: lote totalmente gerenciado e sem servidor e processamento de stream

A capacidade de analisar o streaming de dados transformou a forma como as organizações fazem negócios e como elas respondem em tempo real. No entanto, a necessidade de manter diferentes bibliotecas de processamento para lidar com análise de lote e streaming aumenta a complexidade ao exigir dois pipelines diferentes. Além disso, passar tempo otimizando a utilização e os recursos de cluster como acontece no Spark e o Hadoop desvia a atenção do objetivo básico de filtrar, agregar e transformar os dados.

O Dataflow foi projetado para simplificar Big Data tanto para streaming como para cargas de trabalho em lote. Para isso, ele unifica o modelo de programação e o de execução. Em vez de especificar um tamanho de cluster e gerenciar a capacidade, o Dataflow é um serviço gerenciado em que os recursos sob demanda são criados, escalonados automaticamente e em paralelo. Como um verdadeiro serviço sem operações, os workers são adicionados ou removidos com base nas demandas do job. O Dataflow também lida com o problema comum dos trabalhos retardatários encontrados em sistemas distribuídos ao monitorar, identificar e reprogramar constantemente o trabalho, incluindo divisões, para trabalhos ociosos em todo o cluster.

Examine os casos de uso a seguir:

  • Substituição do MapReduce: processe cargas de trabalho paralelas em que os paradigmas de processamento não MapReduce geraram complexidade operacional ou frustração.

  • Análise de usuários: analise grande volume de dados de comportamento de usuários, como eventos de jogo, stream de dados por clique e informações de vendas no varejo.

  • Ciência de dados: processe grandes volumes de dados para fazer descobertas e predições científicas, como dados financeiros, de genômica e clima.

  • ETL: ingira, transforme e carregue dados em um armazenamento de dados, como o BigQuery.

  • Processamento de registros: processe dados de registro de eventos contínuos para criar painéis, métricas de apps e alertas em tempo real.

O SDK do Dataflow também foi lançado como o projeto de código aberto Apache Beam, que é compatível com a execução no Apache Spark e no Apache Flink. Devido ao escalonamento automático e à facilidade de implantação, o Dataflow é um local ideal para executar fluxos de trabalho do Dataflow/Apache Beam.

Dataprep by Trifacta: exploração, limpeza e processamento de dados visuais

O Dataprep é um serviço visual de exploração, limpeza e preparo de dados para análise. Use o Dataprep com uma IU baseada em navegador, sem escrever código. Com o Dataprep, os recursos necessários para executar as transformações são implantados e gerenciados automaticamente sob demanda.

Com o Dataprep, transforme dados de qualquer tamanho armazenados nos formatos CSV, JSON ou de tabela relacional. O Dataprep usa o Dataflow para escalonar automaticamente e pode lidar com conjuntos de dados em escala de terabytes. Como o Dataprep é totalmente integrado ao Google Cloud, é possível processar dados em qualquer lugar: no Cloud Storage, no BigQuery ou na área de trabalho. Após o processamento dos dados, exporte os dados limpos diretamente para o BigQuery para análise posterior. É possível administrar o acesso do usuário e a segurança de dados com o Gerenciamento de identidade e acesso.

Veja alguns casos de uso comuns do Dataprep.

  • Machine learning: limpe dados de treinamento para ajustar modelos de ML.
  • Análise: transforme dados brutos para que eles sejam ingeridos em ferramentas de armazenamento de dados como o BigQuery.

Prevenção contra perda de dados do Cloud: descubra, classifique e proteja dados confidenciais.

O Cloud DLP é um serviço totalmente gerenciado criado para ajudar a descobrir, classificar e proteger dados confidenciais. Com mais de 120 infoTypes integrados, o Cloud DLP oferece a capacidade de verificar, descobrir, classificar e relatar dados praticamente de qualquer lugar. O Cloud DLP tem suporte nativo para verificar e classificar dados confidenciais no Cloud Storage, no BigQuery e no Datastore, além de uma API de conteúdo de streaming para ativar a compatibilidade com outras fontes de dados, cargas de trabalho personalizadas e aplicativos.

O Cloud DLP também fornece ferramentas de desidentificação para mascarar, tokenizar e transformar elementos confidenciais. Com isso, é possível aprimorar o gerenciamento dos dados que coletados, armazenados ou usados para análises ou negócios. A compatibilidade com dados estruturados e não estruturados do Cloud DLP ajuda a preservar o utilitário dos seus dados para mescla, análise e IA, enquanto evita que os identificadores confidenciais brutos sejam expostos.

Veja alguns casos de uso comum para o Cloud DLP:

  • Machine learning: é possível desidentificar dados de treinamento não estruturados, como registros de chat, antes de usar modelos de IA/ML.
  • Descoberta e classificação: identifique e marque dados confidenciais conforme você processa em bancos de dados ou em ferramentas de armazenamento de dados, como o BigQuery.
  • Reduza a exposição: é possível pseudonimizar ou tokenizar os identificadores para reduzir a exposição, enquanto ainda permite as junções e a análise agregada.

Como analisar e consultar dados

Depois de serem ingeridos, armazenados e processados, os dados precisam de um formato que permita serem acessados e consultados com facilidade.

BigQuery: armazenamento de dados gerenciado

O BigQuery é um armazenamento de dados totalmente gerenciado com suporte para consultas SQL ad-hoc e esquemas complexos. É possível usar o BigQuery para analisar, entender e organizar dados. Se estiver acostumado a usar um armazenamento de dados tradicional para executar consultas SQL padrão ou ferramentas de inteligência de negócios e visualização, você apreciará a potência e a interface familiar do BigQuery.

O BigQuery é um armazenamento de dados OLAP de análise altamente escalonável e de baixo custo, capaz de atingir uma taxa de verificação de mais de 1 TB/s. É um serviço totalmente gerenciado, com nós computacionais que são ativados para cada consulta inserida no sistema.

Para começar a usar o BigQuery, você cria um conjunto de dados no projeto, carrega dados em uma tabela e executa uma consulta. O processo de carregamento de dados pode ser simplificado usando a ingestão de streaming do Pub/Sub e do Dataflow, o carregamento de dados do Cloud Storage ou a saída de um job de processamento executado no Dataflow ou no Dataproc. O BigQuery pode importar formatos de dados CSV, Avro e JSON e inclui suporte para itens aninhados e repetidos no JSON.

Todos os dados no BigQuery são acessados por um canal criptografado e criptografados em repouso. O BigQuery é coberto pelos programas de conformidade do Google, incluindo SOC, PCI, ISO 27001 e HIPAA, para que possa ser usado para processar e consultar informações confidenciais. O acesso aos dados é controlado por meio das ACLs.

O BigQuery calcula as taxas de cobrança ao longo de duas dimensões independentes: consultas e armazenamento. O armazenamento de dados no BigQuery é comparável ao custo no Cloud Storage, o que significa que você não precisa escolher entre manter os dados do registro em um bucket e no BigQuery. Não há limite superior para a quantidade de dados que podem ser armazenados no BigQuery. Além disso, se as tabelas não forem editadas por 90 dias, o preço do armazenamento para essa tabela será reduzido em 50%.

Um caso de uso típico do BigQuery é transmitir os dados de registro por stream ou carregar por lote periodicamente de servidores ou outros sistemas que produzem sinais com uma taxa alta, como dispositivos IoT. A integração nativa com vários serviços do Google está disponível. Por exemplo, o Cloud Logging pode ser configurado para enviar dados de geração de registros diretamente para o BigQuery.

Ao consultar dados no BigQuery, você tem a opção de dois modelos de preços: sob demanda ou taxa fixa. Com o preço sob demanda, as cobranças da consulta são fixadas no preço de terabytes processados. Ao usar preços fixos, o BigQuery oferece uma capacidade de consulta consistente com um modelo de custo mais simples.

Como um serviço totalmente gerenciado, o BigQuery automatiza tarefas como janelas de manutenção de infraestrutura e limpeza de dados. Para melhorar o design das consultas, verifique a explicação do plano de consulta. Os dados são armazenados em formato de coluna, otimizado para agregações em grande escala e processamento de dados. Além disso, o BigQuery tem suporte integrado para partições em série temporal de dados. Do ponto de vista do design, isso significa que é possível projetar a atividade de carregamento para usar um carimbo de data/hora e depois segmentar consultas em uma partição de data específica. Como as cobranças de consulta do BigQuery são baseadas no volume de dados verificados, o particionamento adequado melhora a eficiência da consulta e reduz o custo.

A execução de consultas no BigQuery é feita usando o SQL padrão, que é compatível com o SQL 2011 e tem extensões para oferecer suporte à consulta de dados aninhados e repetidos. Há um conjunto avançado de funções e operadores, disponíveis de maneira nativa no BigQuery, além de compatibilidade com funções definidas pelo usuário (UDFs, na sigla em inglês).

Aproveite o BigQuery de várias maneiras.

  • Análise do usuário: ingira grandes quantidades de atividades geradas pelo usuário (adtech, clickstream e telemetria de jogo) e determine o comportamento e as características do usuário.

  • Dispositivos e métricas operacionais: colete informações de streaming de sistemas de TI, dispositivos IoT e outros e analise os dados de tendências e variações.

  • Business intelligence: retenha métricas de negócios como um armazenamento de dados e produza análises por meio de Mecanismo de BI do BigQuery com o Google Data Studio..

Há vários tutoriais e exemplos para usar o BigQuery no site da solução.

Noções básicas dos dados com o aprendizado de máquina

O aprendizado de máquina tornou-se um componente crítico da etapa de análise do ciclo de vida dos dados. Ele pode ser usado para aumentar os resultados processados, sugerir otimizações de coleta de dados e prever resultados em conjuntos de dados.

Estes são os casos de uso da solução.

  • Recomendações de produtos: crie um modelo que recomenda produtos com base em compras anteriores e navegação no site.

  • Predição: use o machine learning para prever o desempenho de sistemas complexos, como mercados financeiros.

  • Assistentes automatizados: crie assistentes automatizados que entendam e respondam às perguntas feitas pelos usuários.

  • Análise do sentimento: determine o sentimento subjacente dos comentários dos usuários sobre avaliações de produtos e notícias.

Há várias opções para aproveitar o machine learning no Google Cloud.

  • APIs de machine learning específicas para tarefas: o Google Cloud oferece serviços de machine learning gerenciados e importantes com modelos pré-treinados de visão, fala, linguagem natural e tradução de texto. Essas APIs são criadas com as mesmas tecnologias usadas nos apps, como o Google Fotos, o app para dispositivos móveis do Google, o Google Tradutor e as respostas inteligentes do Inbox.

  • Machine Learning personalizado: o AI Platform é um serviço hospedado e gerenciado que executa modelos personalizados em escala. Além disso, o Dataproc também executa modelos de machine learning criados com Mahout ou Spark MLlib.

API Vision

É possível usar a API Vision para analisar e entender o conteúdo de uma imagem usando redes neurais pré-treinadas. Use-a para classificar imagens, detectar objetos e rostos individuais e reconhecer palavras impressas. Além disso, você pode usar a API Vision para detectar conteúdo impróprio e analisar atributos faciais emocional das pessoas.

A API Vision é acessível por meio de endpoints REST. É possível enviar imagens diretamente para o serviço ou fazer upload delas para o Cloud Storage e incluir um link para a imagem na solicitação. As solicitações podem incluir uma única imagem ou várias imagens podem ser anotadas em um único lote. Em uma solicitação, as anotações de recurso podem ser selecionadas para detecção para cada imagem incluída. A detecção de recursos inclui rótulos, texto, rostos, pontos de referência, logotipos, pesquisa segura e propriedades da imagem, como cores dominantes. A resposta conterá metadados sobre cada anotação de tipo de recurso selecionada para cada um fornecido na solicitação original. Para mais informações sobre solicitações e respostas, consulte a documentação da API Vision.

Integre facilmente a API Vision a apps personalizados executados no App Engine, no GKE, no Compute Engine e em plataformas móveis, como Android e iOS. Ela também pode ser acessada de serviços do Google Cloud, como Dataflow, Dataproc e Datalab.

Speech-to-Text

A Speech-to-Text é compatível com a capacidade de analisar áudio e convertê-lo em texto. A API reconhece mais de 80 idiomas e variantes e é alimentada por algoritmos de redes neurais de aprendizado profundo que evoluem e melhoram constantemente.

É possível usar o Speech-to-Text para diferentes tipos de cargas de trabalho.

  • Conversão de voz em texto em tempo real: o Speech-to-Text aceita entrada de áudio de streaming e começa a retornar resultados parciais de reconhecimento assim que forem disponibilizados. Esse recurso é útil para integrar o ditado em tempo real ou ativar o comando e o controle por meio de voz nos apps. O Speech-to-Text é compatível com o gRPC, um framework RPC de alto desempenho e código aberto, para análise de streaming de fala em apps personalizados executados no App Engine, no GKE, no Compute Engine e em plataformas móveis, como Android e iOS.

  • Análise em lote: para processar um grande número de arquivos de áudio, chame o Speech-to-Text usando endpoints REST e gRPC. Os recursos síncronos e assíncronos de conversão de voz em texto são compatíveis. A API REST também pode ser acessada de serviços do Google Cloud, como Dataflow, Dataproc e Datalab.

API Natural Language

A API Natural Language fornece a capacidade de analisar e revelar a estrutura e o significado do texto. É possível usar a API para extrair informações sobre pessoas, lugares, eventos, sentimento de texto de entrada e muito mais. A análise resultante pode ser usada para filtrar conteúdo inapropriado, classificar conteúdo por tópicos ou criar relacionamentos das entidades extraídas encontradas no texto de entrada.

É possível combinar a API Natural Language com os recursos OCR da API Vision ou os recursos Speech-to-Text para criar apps ou serviços avançados.

A Natural Language API está disponível por meio dos endpoint REST. É possível enviar texto diretamente para o serviço ou fazer o upload de arquivos de texto para o Cloud Storage e vinculá-los à solicitação. Integre facilmente a API a apps personalizados executados no App Engine, no GKE, no Compute Engine e em plataformas móveis, como Android e iOS. Ela também pode ser acessada de outros serviços do Google Cloud, como Dataflow, Dataproc ou Datalab.

Cloud Translation

Use o Translation para traduzir mais de 90 idiomas diferentes. Se o idioma de entrada for desconhecido, o Translation detectará automaticamente o idioma com alta precisão.

Ele pode fornecer tradução em tempo real para aplicativos móveis e da Web, e é compatível com solicitações em lote de cargas de trabalho analíticas.

O Translation está disponível por meio de endpoints REST. Integre a API a apps personalizados executados no App Engine, no GKE, no Compute Engine e em plataformas móveis, como Android e iOS. Ela também pode ser acessada de serviços do Google Cloud, como Dataflow, Dataproc ou Datalab.

API Video Intelligence: pesquisa e descoberta de vídeos

Normalmente, o conteúdo de vídeo é impreciso e não oferece uma função de análise. No entanto, com a Video Intelligence, uma API REST fácil de usar, agora é possível pesquisar, descobrir e extrair metadados de vídeos. Com essa API, é possível detectar entidades (substantivos) em conteúdo de vídeo, como "cão", "flor" ou "carro". Também é possível procurar entidades em cenas no conteúdo de vídeo.

Os usuários podem anotar vídeos com metadados em quadro e vídeo. O serviço pode extrair dados com uma granularidade máxima de 1 quadro por segundo. A API é compatível com formatos de vídeo comuns, incluindo MOV, MPEG4, MP4 e AVI. Fazer uma solicitação para anotar um vídeo é simples: você cria um arquivo de solicitação JSON com o local do vídeo e os tipos de anotação que quer executar e, em seguida, envia a solicitação ao endpoint da API.

Para dar os primeiros passos, consulte o Guia de início rápido da Video Intelligence.

Estes são alguns casos de uso comuns do Cloud Video Intelligence.

  • Insights de vídeos: extraia insights de vídeos sem ter que usar machine learning ou implementar algoritmos de visão computacional.

  • Pesquisa de catálogo de vídeos: pesquise em um catálogo de vídeos para identificar a presença e o carimbo de data/hora das entidades de interesse.

AI Platform: plataforma gerenciada de machine learning

AI Platform é uma plataforma gerenciada que pode ser acessada para executar modelos de aprendizado de machine learning em escala. Use a estrutura de código aberto para machine learning do TensorFlow para criar modelos e o AI Platform para gerenciar pré-processamento, treinamento e previsão.

O AI Platform é integrado ao Dataflow para pré-processamento de dados, que pode acessar dados armazenados no Cloud Storage e no BigQuery. Ele também funciona com o Cloud Load Balancing para disponibilizar previsões on-line em escala.

É possível desenvolver e testar completamente os modelos do TensorFlow no Google Cloud usando os notebooks do Datalab e do Jupyter e, em seguida, usar o AI Platform para cargas de trabalho de treinamento e previsão em grande escala.

Modelos construídos para o AI Platform são totalmente portáteis. Utilize biblioteca do TensorFlow para criar e testar modelos localmente e implantá-los em várias máquinas para treinamento distribuído e predição. É possível também carregar os modelos treinados no AI Platform e executá-los em várias instâncias distribuídas de máquinas virtuais.

As fases do fluxo de trabalho do AI Platform são as seguintes:

  • Pré-processamento: os recursos de conjuntos de dados de entrada são convertidos pelo AI Platform em um formado compatível. Os dados podem ser normalizados e transformados para garantir um aprendizado mais eficiente. Durante o pré-processamento, os dados de treinamento, avaliação e teste são armazenados no Cloud Storage. Isso também torna os dados acessíveis ao Dataflow durante essa fase para qualquer pré-processamento adicional necessário.

  • Criação de gráficos: o modelo fornecido pelo TensorFlow é convertido em um modelo do AI Platform, com operações para treinamento, avaliação e previsão.

  • Treinamento: a iteração e avaliação contínuas do modelo são feitas pelo AI Platform de acordo com os parâmetros enviados.

  • Predição: o modelo é usado pelo AI Platform para a realização de cálculos. As previsões são calculadas em lotes ou sob demanda, como um serviço on-line. As previsões em lote são projetadas para serem executadas de modo assíncrono em grandes conjuntos de dados usando serviços, como o Dataflow, para orquestrar a análise. As previsões sob demanda costumam ser usadas com apps personalizados executados no App Engine, no GKE ou no Compute Engine.

Machine learning para diversos fins

Além da plataforma de machine learning e das APIs criadas pelo Google, é possível implantar outras ferramentas de machine learning de alta escala no Google Cloud. O Mahout e o MLlib são dois projetos nos ecossistemas do Hadoop e do Spark, que fornecem uma variedade de algoritmos de machine-learning de uso geral. Ambos os pacotes oferecem algoritmos de machine learning para realizar clustering, classificação, filtragem colaborativa e muito mais.

Use o Dataproc para implantar clusters gerenciados do Hadoop e do Spark e inicializar esses clusters com software adicional. Isso significa que é possível executar cargas de trabalho de machine learning criadas com o MAHout ou o MLlib no Google Cloud e escalonar os clusters usando VMs regulares ou preemptivas.

Explorar e visualizar

A etapa final no ciclo de vida dos dados é a exploração e visualização detalhada de dados para entender melhor os resultados do processamento e da análise.

Os insights adquiridos durante a exploração podem ser usados para gerar melhorias na velocidade ou volume de ingestão de dados, no uso de diferentes mídias de armazenamento para análise de velocidade e aprimoramentos no processamento de pipelines. A total exploração e entendimento desses conjuntos de dados geralmente envolve os serviços de cientistas de dados e analistas de negócios, pessoas treinadas em probabilidade, estatística e compreensão do valor comercial.

Como explorar os resultados da ciência de dados

A ciência de dados é o processo de criação de valor de recursos de dados brutos. Para isso, um cientista de dados pode combinar conjuntos de dados diferentes, alguns públicos, alguns privados, e executar uma série de técnicas de agregação e análise. Ao contrário do armazenamento de dados, os tipos de análise e a estrutura dos dados variam amplamente e não são predeterminados. As técnicas específicas incluem métodos estatísticos, como cluster, Bayesiano, máxima verossimilhança e regressão, bem como machine-learning, como árvores de decisão e redes neurais.

Datalab: insights de dados interativos

O Datalab é uma ferramenta interativa baseada na Web que pode ser usada para explorar, analisar e visualizar dados. Ele é baseado em notebooks do Jupyter, que anteriormente eram conhecidos como IPython. Com o Datalab, com um único clique, você inicia um notebook interativo baseado na Web, em que é possível gravar e executar programas Python para processar e visualizar dados. Os blocos de notas mantêm o estado e podem ser compartilhados entre cientistas de dados, bem como publicados em sites como GitHub, Bitbucket e Dropbox.

Além de estar pronto para uso, o Datalab é compatível com diversas ferramentas de ciência de dados conhecidas, incluindo pandas, numpy e scikit-learn, além de pacotes de visualização comuns como o matplotlib. O Datalab também é compatível com o Tensorflow e o Dataflow. Usando essas bibliotecas e serviços em nuvem, um cientista de dados pode carregar e limpar dados, criar e verificar modelos e, em seguida, visualizar os resultados usando matplotlib. Isso funciona tanto para dados que cabem em uma única máquina, quanto em dados que requerem um cluster para armazenamento. Outros módulos do Python podem ser carregados usando comandos !pip install.

Ecossistema de ciência de dados

Com as instâncias de alto desempenho do Compute Engine, é possível implantar vários tipos de ferramentas de ciência de dados e usá-las para executar análises em grande escala no Google Cloud.

A linguagem de programação R é comumente usada por estatísticos. Caso você queira usá-la para explorar dados, implante o RStudio Server ou o Microsoft Machine Learning Server em uma instância do Compute Engine. O RStudio Server fornece um ambiente de tempo de execução interativo para processar e manipular dados, criar modelos sofisticados e visualizar resultados. O Microsoft Machine Learning Server é um complemento de alta escala e alto desempenho em clientes de desktop R para execução de cargas de trabalho analíticas.

O Datalab é baseado em Jupyter e compatível atualmente com Python. Para fazer a exploração de dados em outras linguagens, como R, Julia, Scala e Java, implante o Jupyter ou o JupyterHub (links em inglês) nas instâncias do Compute Engine.

O Apache Zeppelin (em inglês) é outra ferramenta conhecida de ciência de dados voltada para notebooks e baseada na Web. Semelhante ao Jupyter, o Zeppelin é compatível com sistemas adicionais de back-end de processamento de dados e linguagem, como Spark, Hive, R e Python.

Tanto o Jupyter como o Zeppelin podem ser implantados usando ações de inicialização prontas do Dataproc para o bootstrap rápido de pacotes de software comuns dos ecossistemas Hadoop e Spark.

Como ver resultados de inteligência empresarial

Durante a fase de análise, convém gerar visualizações, painéis e relatórios de dados complexos para explicar os resultados do processamento de dados para um público mais amplo. Para facilitar isso, o Google Cloud e integrado com várias ferramentas de relatórios e painéis.

Looker: Plataforma de Business Intelligence

O Looker fornece ferramentas para potencializar as experiências com os dados, desde um Business Intelligence moderno até análises incorporadas, além de integrações de fluxo de trabalho e apps de dados personalizados. O Looker oferece uma plataforma unificada para acessar dados complexos e realizar a integração com fluxos de trabalho e aplicativos voltados a dados. O Looker também pode ser estendido por meio de APIs, SDKs eficientes e uma biblioteca de integrações comuns.

Data Studio: painel e visualização

O Data Studio oferece um criador de relatórios tipo "arraste e solte" que pode ser usado para visualizar dados em relatórios e painéis que, depois, poderão ser compartilhados. Os gráficos nos relatórios são baseados em dados ativos, que podem ser compartilhados e atualizados facilmente. Os relatórios contêm controles interativos que permitem aos colaboradores ajustar as dimensões usadas para gerar visualizações.

Com o Data Studio, crie relatórios e painéis de arquivos de dados atuais, Planilhas Google, Cloud SQL e BigQuery. Ao combinar o Data Studio com o BigQuery, você desfruta de todos os recursos de armazenamento e computação do BigQuery, sem precisar importar dados manualmente para o Data Studio ou criar integrações personalizadas.

Mecanismo de BI: serviço de análise gerenciada

O BI Engine é um serviço rápido de análise na memória. O BI Engine pode analisar os dados armazenados no BigQuery com tempo de resposta de consulta de subsegundos e alta simultaneidade. O BI Engine se integra ao Data Studio para acelerar a exploração e a análise de dados. Essa integração dá acesso a painéis e relatórios avançados e interativos no Data Studio sem precisar gerenciar e ajustar o desempenho, a escala, a segurança ou a atualização dos dados.

Além do BI Engine, o BigQuery também é compatível com uma gama de ferramentas e integrações de business intelligence de terceiros, que variam de aplicativos SaaS até apps para computador. Para mais informações, consulte a documentação de Parceiros do BigQuery.

Planilhas: visualização de planilhas

Se preferir visualizar dados em uma planilha, use as Planilhas, integradas diretamente com o BigQuery. Usando o Google Apps Script, você pode incorporar consultas do BigQuery e dados diretamente nas Planilhas. Também é possível exportar os resultados da consulta do BigQuery para arquivos CSV e abri-los no Planilhas ou em outras planilhas. Isso é útil na criação de conjuntos de dados menores para compartilhamento ou análise. Também é possível fazer o contrário e usar o BigQuery para consultar conjuntos de dados distribuídos e armazenados no Planilhas ou arquivos armazenados no Drive.

Data Catalog: descoberta de dados e gerenciamento de metadados

O Data Catalog é um serviço de metadados escalonável e totalmente gerenciado que simplifica a descoberta de dados em qualquer escala. Com a tecnologia de pesquisa do Google, o Data Catalog oferece uma interface de pesquisa no Google Cloud, permitindo uma visualização unificada dos recursos de dados.

O serviço de gerenciamento de metadados processa automaticamente metadados técnicos do BigQuery e do Pub/Sub, bem como metadados comerciais em um formato esquematizado, usando tags, APIs personalizadas e o Console do Google Cloud. Ele oferece uma maneira simples e eficiente de codificar recursos de dados.

O Data Catalog também tem uma base forte de segurança e compliance com as integrações do Cloud Data Loss Prevention e do IAM.

Orquestração

A incorporação de todos os elementos do ciclo de vida de dados em um conjunto de operações conectadas e coesivas requer alguma forma de orquestração. As camadas de orquestração geralmente são usadas para coordenar as tarefas iniciais, interromper tarefas, copiar arquivos e fornecer um painel para monitorar jobs de processamento de dados. Por exemplo, um fluxo de trabalho pode incluir a cópia de arquivos no Cloud Storage, o início de um job de processamento do Dataproc e o envio de notificações ao processar os resultados no BigQuery.

Os fluxos de trabalho de orquestração variam de simples a complexos, dependendo das tarefas de processamento. Muitas vezes, eles usam um mecanismo de programação centralizado para executar fluxos de trabalho automaticamente.

Cloud Composer: orquestração gerenciada de fluxos de trabalho

O Cloud Composer é um serviço de orquestração de fluxo de trabalho totalmente gerenciado que permite a criação, a programação e o monitoramento de pipelines que abrangem nuvens e data centers no local. O Cloud Composer é criado no projeto de código aberto Apache Airflow e os pipelines são configurados como gráficos acíclicos direcionados (DAG, na sigla em inglês) usando o Python.

O Cloud Composer tem integração robusta com muitos produtos, incluindo BigQuery, Dataflow, Dataproc, Datastore, Cloud Storage, Pub/Sub e AI Platform.

Apps de orquestração personalizados

Para aplicativos de orquestração personalizados, é possível usar o Pub/Sub ou o Cloud Tasks para enfileirar as etapas do fluxo de trabalho. As etapas podem ser executadas por aplicativos implantados nas máquinas virtuais do Compute Engine, nas plataformas sem servidor do App Engine e do Cloud Functions e no gerenciamento de contêiner do Google Kubernetes Engine (GKE).

E agora?

Para saber mais sobre como gerenciar seus dados no Google Cloud, consulte estas arquiteturas de referência e casos de uso.