Esta página explica como usar o Data Boost do Spanner ao executar consultas federadas do BigQuery para um banco de dados do Spanner. Com o Data Boost, as consultas federadas são executadas com impacto mínimo nas cargas de trabalho existentes na instância provisionada do Spanner. As consultas do Data Boost do BigQuery para um banco de dados do Spanner podem mesclar dados do BigQuery com dados do Spanner.
A federação do Spanner permite que o BigQuery consulte dados que residem no Spanner em tempo real, sem copiar ou mover dados. Para saber mais sobre as consultas federadas do Spanner, consulte Consultas federadas do Spanner. Para saber mais sobre o Data Boost, consulte a Visão geral do Data Boost.
Antes de começar
Antes de executar consultas federadas com o Data Boost, é necessário concluir as seguintes tarefas:
Criar uma instância e um banco de dados do Spanner
Se você não tiver uma instância e um banco de dados do Spanner, siga as etapas em Criar e consultar um banco de dados usando o console do Google Cloud para criá-los.
Ativar a API BigQuery Connection
A API BigQuery Connection permite gerenciar conexões do BigQuery com fontes de dados externas, como um banco de dados do Spanner.
-
Enable the BigQuery connection API.
Para mais informações, consulte a API de conexão do BigQuery na documentação do BigQuery.
Conceder permissões do IAM para o Data Boost aos principais
Um principal precisa receber as seguintes permissões para executar consultas federadas com o Data Boost:
spanner.instances.get
: permite acessar a configuração de uma instância.spanner.databases.useDataBoost
: permite usar os recursos de computação do Data Boost do Spanner para processar consultas particionadas.
Para mais informações sobre as permissões do Spanner, consulte Permissões do Identity and Access Management (IAM).
Para conceder essas permissões, recomendamos que você use o papel do IAM Cloud
Spanner Database Reader With DataBoost
(roles/spanner.databaseReaderWithDataBoost
). É possível
adicionar essa função a qualquer participante que precise executar consultas federadas
com o Data Boost. Para saber mais sobre papéis predefinidos no
Spanner, consulte Papéis predefinidos. Para saber
como criar um papel personalizado do IAM, consulte Criar um papel
personalizado.
Executar uma consulta federada do Data Boost
Para executar uma consulta do Data Boost do BigQuery para uma fonte externa, você precisa de uma conexão do BigQuery com a fonte externa e o ID da conexão. Quando você executa uma consulta federada do Spanner com o Data Boost, a fonte externa é um banco de dados do Spanner. Depois que você cria o ID de conexão, ele é usado pelo BigQuery para executar uma consulta de Data Boost de um banco de dados do Spanner.
Use uma das opções a seguir para criar um ID de conexão do BigQuery e, em seguida, use o ID de conexão para executar uma consulta do Data Boost no BigQuery:
Iniciar no Spanner: crie o ID de conexão externa do BigQuery no console do Spanner. Depois que o ID de conexão é criado no console do Spanner, você é redirecionado para o console do BigQuery para executar uma consulta federada do Data Boost em um banco de dados do Spanner.
Iniciar no BigQuery: crie o ID de conexão externa do Data Boost no console do BigQuery ou usando a ferramenta de linha de comando
bq
. Depois de criar o ID de conexão, você fica no console do BigQuery para executar uma consulta federada do Data Boost em um banco de dados do Spanner.
Começar no Spanner para executar uma consulta do Data Boost
Para executar uma consulta federada do Data Boost no Spanner Studio, faça o seguinte:
Acesse a página Instâncias do Spanner no console do Google Cloud.
O console mostra uma lista das suas instâncias do Spanner.
Selecione uma instância do Spanner e um banco de dados.
Na página Informações gerais do banco de dados, no menu de navegação, clique em ** Spanner Studio**.
Clique em Abrir no BigQuery.
Na caixa de diálogo Visualizar no BigQuery, insira um ID de conexão.
O ID de conexão é usado para criar uma nova conexão externa do BigQuery com seu banco de dados do Spanner. Você faz referência à sua conexão externa usando o seguinte padrão:
PROJECT-ID.LOCATION.CONNECTION-ID
Um erro ocorre se o ID já existir.
Preencha o restante da caixa de diálogo e faça o seguinte:
- Selecione Ler dados em paralelo.
- Selecione Usar o Data Boost do Spanner.
Clique em Ver no BigQuery.
O BigQuery Studio é aberto com a seguinte consulta:
SELECT * FROM EXTERNAL_QUERY("PROJECT-ID.LOCATION.CONNECTION-ID", "SELECT * FROM INFORMATION_SCHEMA.TABLES;");
Você pode substituir isso pela sua consulta federada. Por exemplo, você pode fazer uma consulta semelhante ao exemplo abaixo. Este exemplo faz uma consulta federada de uma tabela chamada
orders
em um banco de dados do Spanner e mescla os resultados com uma tabela do BigQuery chamadamydataset.customers
.SELECT c.customer_id, c.name, rq.first_order_date FROM mydataset.customers AS c LEFT OUTER JOIN EXTERNAL_QUERY( 'my-project.us.example-db', '''SELECT customer_id, MIN(order_date) AS first_order_date FROM orders GROUP BY customer_id''') AS rq ON rq.customer_id = c.customer_id GROUP BY c.customer_id, c.name, rq.first_order_date;
Começar no BigQuery para executar uma consulta do Data Boost
Para criar uma conexão de dados externa do BigQuery com um banco de dados do Spanner e usar essa conexão para executar uma consulta federada do Data Boost do BigQuery, selecione uma das seguintes opções:
Console
Acesse Criar conexões do Spanner na documentação do BigQuery e siga as instruções na guia Console.
No painel Fonte de dados externa, faça o seguinte:
- Selecione Ler dados em paralelo.
- Selecione Usar o Data Boost do Spanner.
bq
Acesse Criar conexões do Spanner na documentação do BigQuery e siga as instruções na guia bq*.
Defina as seguintes propriedades de conexão como
true
:useParallelism
useDataBoost
O exemplo a seguir usa o comando bq
mk
para criar uma nova conexão chamada my_connection
com as duas propriedades necessárias para o Data Boost:
bq mk --connection --connection_type='CLOUD_SPANNER' --location='us' \
--properties='{"database":"projects/my-project/instances/my-instance/databases/my-database", "useParallelism":true, "useDataBoost": true}' my_connection
A seguir
- Saiba mais sobre o Data Boost em Visão geral do Data Boost.
- Usar o Data Boost nos seus aplicativos
- Monitorar o uso do Data Boost
- Monitorar e gerenciar o uso da cota do Data Boost