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 alto rendimento nos dados do Bigtable sem afetar o desempenho dos clusters que gerenciam o tráfego do aplicativo. Ele permite enviar jobs de leitura e consultas grandes usando computação sem servidor, enquanto o aplicativo principal continua usando nós de cluster para computação. As SKUs de computação sem servidor e as taxas de faturamento são separadas das SKUs e taxas para 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.
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.
Confira a seguir 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 enriquecimento, análise, arquivamento, treinamento de modelo de ML off-line ou ingestão por parceiros externos dos clientes.
- ETL usando uma ferramenta como o Dataflow para processos de leitura ou de leitura em lote curtos que oferecem suporte a agregações no local, transformações com base em regras para MDM ou jobs de ML
- Aplicativos do Spark que usam o conector do Spark para Bigtable para ler dados do Bigtable
Não é bom para
Leituras de ponto: o Data Boost não é a melhor opção para operações de leitura de ponto, 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.
Ler dados imediatamente após a gravação: ao ler dados com o Data Boost, talvez você não leia todos os dados gravados na última meia hora. Isso é especialmente verdadeiro se a instância usa replicação e você está lendo dados que foram gravados em um cluster em uma região diferente da que está lendo. Para mais informações, consulte Tokens de consistência.
Carga de trabalho sensível à latência: o Data Boost é otimizado para throughput. Portanto, a latência de leitura é mais lenta quando você usa o Data Boost do que quando você lê usando clusters e nós. Por esse motivo, o Data Boost não é adequado para cargas de trabalho de veiculaçã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 do app Data Boost em vez de um perfil de app padrão.
Com os perfis de app padrão, você pode especificar a política de roteamento e o nível de prioridade das solicitações que usam o perfil, além de determinar se transações de linha única são permitidas. 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 apps padrão.
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 sua 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 novo perfil de app do Data Boost ou converter um perfil de app padrão para usar o Data Boost. Recomendamos o uso de um perfil de app separado para cada carga de trabalho ou aplicativo.
Tokens de consistência
Os dados que foram gravados ou replicados no cluster de destino mais de 35 minutos antes da solicitação de leitura ser lida pelo Data Boost.
É possível verificar se os dados de um job de gravação ou período específico são legíveis pelo Data Boost antes de iniciar uma carga de trabalho do Data Boost, criando e usando um token de consistência. Um exemplo de fluxo de trabalho é o seguinte:
- Gravar alguns dados em uma tabela.
- Crie um token de consistência.
- Envie o token no modo
DataBoostReadLocalWrites
para determinar quando as gravações são legíveis 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 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) e 1.000 SPUs = um nó na performance. 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ê é cobrado com pelo menos 10 SPUs por segundo. Para mais informações sobre os preços do Data Boost, consulte Preços do Bigtable.
A cota e a cobrança de SPUs são alocadas separadamente da cota e das cobranças de nós.
Métricas de qualificação
O Data Boost foi projetado para verificações de alto volume, e as cargas de trabalho precisam ser compatíveis para poder usá-lo. 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 existente, confira as métricas de qualificação do Data Boost para garantir que sua configuração e uso atendam aos critérios necessários. Confira também as limitações.
Monitoramento
Para monitorar o tráfego do Data Boost, verifique as métricas do perfil do app do Data Boost na página de monitoramento do Bigtable no console do Google Cloud. Para uma lista de métricas disponíveis por perfil de app, consulte Gráficos de monitoramento para recursos do Bigtable.
É possível monitorar o uso de unidades de processamento sem servidor (SPUs) verificando
a contagem de uso de SPU (data_boost/spu_usage_count
) na guia Perfil do app
na página de monitoramento do Bigtable.
Você também pode continuar monitorando as métricas de qualificação do perfil do 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 é composto principalmente por leituras de ponto (de uma única linha)
- Mais de mil leituras por segundo em cada cluster
- Reverter verificações
- Alterar streams
- Solicitar prioridades
- Roteamento de vários clusters
- Transações de linha única
- Endpoints regionais
- Instâncias de HDD
- Consultas do GoogleSQL para Bigtable
- Consultas do criado de consultas do Bigtable Studio
- Instâncias que usam a criptografia CMEK
Bibliotecas de cliente incompatíveis. Use o cliente do Bigtable para Java versão 2.31.0 ou mais recente.
- Para jobs do Dataflow que usam
BigtableIO
para ler dados do Bigtable, é necessário usar o Apache Beam versão 2.54.0 ou mais recente. - Para jobs do Dataflow que usam
CloudBigtableIO
para ler dados do Bigtable, é necessário usar a versão 2.14.1 ou mais recente dobigtable-hbase-beam
. O seguinte não é compatível com a prévia:
- Para jobs do Dataflow que usam
Como ler dados do Bigtable no BigQuery
A seguir