Visão geral do Data Boost do Bigtable

O Data Boost é um serviço de computação sem servidor projetado para executar jobs de leitura de alta capacidade de processamento nos dados do Bigtable sem afetar o desempenho dos clusters que gerenciam o tráfego do aplicativo. Ele permite enviar grandes jobs de leitura e consultas usando a computação sem servidor enquanto o aplicativo principal continua usando nós de cluster para computação. As SKUs e as taxas de faturamento de computação sem servidor são separadas das SKUs e taxas de nós provisionados. Não é possível enviar solicitações de gravação ou exclusão com o Data Boost.

Este documento descreve o Data Boost e quando e como usá-lo. Antes de ler esta página, entenda instâncias, clusters e nós.

Requisitos da versão

O Data Boost está disponível se você usa a edição Enterprise ou Enterprise Plus. A edição Enterprise Plus oferece os seguintes recursos adicionais:

  • Suporte a consultas SQL: consulte os dados acessados com o Data Boost.
  • Acesso a HDD e armazenamento em camadas: para uma análise mais abrangente, estenda o acesso do Data Boost a todo o escopo de dados no cluster do Bigtable, não apenas aos dados de SSD.

Para mais informações, consulte Visão geral das edições.

Indicações de uso

O Data Boost é ideal para cargas de trabalho de análise e processamento de dados. Ao isolar a análise e o processamento de tráfego com o Data Boost, você não precisa ajustar a capacidade nem a quantidade de nós de um cluster para acomodar as cargas de trabalho analíticas. É possível executar jobs de análise de alta capacidade de processamento em um único cluster com o Data Boost, enquanto o tráfego de aplicativos em andamento é roteado pelos nós do cluster.

Estes são os casos de uso ideais para o Data Boost:

  • Jobs de exportação ou pipeline de ETL programados ou acionados do Bigtable para o Cloud Storage para aprimoramento de dados, análise, arquivamento, treinamento de modelo de ML off-line ou ingestão por parceiros terceirizados dos seus clientes.
  • ETL usando uma ferramenta como o Dataflow para processos de leitura em lote ou de verificação rápida que oferecem suporte a agregações no local, transformações baseadas em regras para MDM ou jobs de ML
  • Aplicativos Spark que usam o conector do Spark para Bigtable para ler dados do Bigtable
  • Consultas ad hoc e jobs de análise programados que usam tabelas externas do BigQuery para ler dados do Bigtable.
  • Análises de longa duração em dados históricos acessados com pouca frequência armazenados em HDD ou em armazenamento em camadas (somente na edição Enterprise Plus).

Não é bom para

Leituras pontuais: o Data Boost não é a melhor opção para operações de leitura pontual, que são solicitações de leitura enviadas para linhas únicas. Isso inclui leituras de pontos em lote. Devido à estrutura de faturamento, muitas leituras de ponto de linha única são consideravelmente mais caras do que uma verificação longa.

Leitura de dados imediatamente após a gravação: ao ler dados com o Data Boost, talvez você não leia todos os dados gravados nos últimos 35 minutos. Isso é especialmente verdadeiro se a instância usa replicação e você está lendo dados gravados em um cluster em uma região diferente daquela em que você está lendo. Para mais informações, consulte Tokens de consistência.

Cargas de trabalho sensíveis à latência: o Data Boost é otimizado para capacidade de processamento. Portanto, a latência de leitura é mais lenta quando você usa o Data Boost do que quando lê usando clusters e nós. Por isso, o Data Boost não é adequado para cargas de trabalho de serviço de aplicativos.

Para mais informações sobre cargas de trabalho, configurações e recursos que não são compatíveis com o Data Boost, consulte Limitações.

Perfis de app do Data Boost

Para usar o Data Boost, envie suas solicitações de leitura usando um perfil de app do Data Boost em vez de um perfil de app padrão.

Com os perfis de app Standard, é possível especificar a política de roteamento e o nível de prioridade das solicitações que usam o perfil de app, além de permitir ou não transações de linha única. O tráfego enviado usando um perfil de app padrão é roteado para um cluster, e os nós desse cluster roteiam o tráfego para o disco. Para mais informações, consulte Visão geral dos perfis de app Standard.

Com um perfil de app do Data Boost, por outro lado, você configura uma política de roteamento de cluster único para um dos clusters da instância, e o tráfego que usa esse perfil de app usa a computação sem servidor em vez dos nós do cluster.

Você pode criar um perfil de app do Data Boost ou converter um perfil de app padrão para usar o Data Boost. Recomendamos usar um perfil de app separado para cada carga de trabalho ou aplicativo.

Tokens de consistência

Os dados gravados ou replicados no cluster de destino mais de 35 minutos antes da solicitação de leitura podem ser lidos pelo Data Boost.

Para garantir que os dados de um job de gravação ou período específico sejam legíveis pelo Data Boost antes de iniciar uma carga de trabalho do Data Boost, crie e use um token de consistência. Confira um exemplo de fluxo de trabalho:

  1. Grave alguns dados em uma tabela.
  2. Crie um token de consistência.
  3. Envie o token no modo DataBoostReadLocalWrites para determinar quando as gravações podem ser lidas pelo Data Boost no cluster de destino.

Você pode verificar a consistência da replicação antes de verificar a consistência do Data Boost enviando primeiro um token de consistência no modo StandardReadRemoteWrites.

Para mais informações, consulte a referência da API para CheckConsistencyRequest.

Cota e faturamento

O uso do Data Boost é medido em unidades de processamento sem servidor (SPUs). 1.000 SPUs equivalem a um nó em desempenho. Ao executar em um HDD ou armazenamento em camadas, as SPUs consideram os recursos de computação sem servidor e as operações de disco subjacentes. Ao contrário dos nós provisionados, a cobrança pelas SPUs só é feita quando você usa o Data Boost. Cada solicitação é faturada por um mínimo de 60 segundos de SPU, e você paga pelo menos 10 SPUs por segundo.

Para mais informações sobre os preços do Data Boost, consulte Preços do Bigtable.

Você recebe uma cota e é cobrado pelas SPUs separadamente da cota e das cobranças dos nós.

Métricas de qualificação

O Data Boost foi projetado para verificações de alta capacidade de processamento, e as cargas de trabalho precisam ser compatíveis para usar o Data Boost. Antes de converter um perfil de app padrão para usar o Data Boost ou criar um perfil de app do Data Boost para uma carga de trabalho atual, confira as métricas de qualificação do Data Boost para garantir que sua configuração e uso atendam aos critérios necessários. Consulte também as limitações.

Monitoramento

Para monitorar o tráfego do Data Boost, confira as métricas do perfil de app do Data Boost na página de insights do sistema do Bigtable no consoleGoogle Cloud . Para uma lista de métricas disponíveis por perfil de aplicativo, consulte Gráficos de insights do sistema para recursos do Bigtable.

Para monitorar o uso de unidades de processamento sem servidor (SPUs), verifique a métrica de contagem de uso de SPU (data_boost/spu_usage_count) na guia Perfil do aplicativo da página de insights do sistema do Bigtable.

Você também pode continuar monitorando as métricas de qualificação do perfil de app depois de começar a usar o Data Boost.

Limitações

As seguintes propriedades de carga de trabalho e configurações de recursos não são compatíveis com o Data Boost.

  • Gravações e exclusões
  • Tráfego que é principalmente de leituras de ponto (leituras de uma única linha)
  • Mais de 1.000 leituras por segundo por cluster
  • Reverter verificações
  • Alterar streams
  • Prioridades de solicitação
  • Roteamento de vários clusters
  • Transações de linha única
  • Endpoints regionais
  • Consultas do Criador de consultas do Bigtable Studio
  • Instâncias que usam criptografia CMEK
  • Bibliotecas de cliente incompatíveis. Use a versão 2.31.0 ou mais recente do cliente do Bigtable para Java.
    • Para jobs do Dataflow que usam BigtableIO para ler dados do Bigtable, é necessário usar a versão 2.54.0 ou mais recente do Apache Beam.
    • Para jobs do Dataflow que usam CloudBigtableIO para ler dados do Bigtable, é necessário usar a versão 2.14.1 ou mais recente do bigtable-hbase-beam.

A seguir