Reservar capacidade de BI Engine

Você adquire a capacidade do BigQuery BI Engine criando uma reserva. A reserva é anexada a um projeto e uma região que você identifica quando a reserva é criada. O BI Engine usa essa capacidade para armazenar dados em cache. Para mais informações sobre o tamanho máximo da reserva para o BI Engine, consulte Cotas e limites.

Ao usar o BigQuery BI Engine, as cobranças serão baseadas na capacidade de BI Engine que você comprou para seu projeto. As reservas são cobradas por GiB/hora, com preço por região, de acordo com os preços sob demanda. Se você tiver um compromisso baseado em capacidade, poderá receber um desconto de até 100% com base no compromisso ativo. Para mais detalhes, consulte os preços baseados na capacidade.

Funções exigidas

Para receber as permissões necessárias para criar e excluir reservas, peça ao administrador para conceder a você o papel do IAM de Administrador de recursos do BigQuery (roles/bigquery.resourceAdmin) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Criar uma reserva

Para reservar capacidade do BI Engine sob demanda, siga estas etapas:

Console

  1. Na página do BigQuery, em Administração, acesse a página BI Engine.

    Acessar BI Engine

  2. Clique em Criar reserva.

  3. Na página Criar reserva, para Etapa 1:

    • Verifique o nome do seu projeto.
    • Selecione seu local. O local deve corresponder ao local dos conjuntos de dados que você está consultando.
    • Ajuste o controle deslizante para a quantidade de capacidade de memória que você está reservando. O exemplo a seguir define a capacidade para 2 GB. O máximo atual é de 250 GB. É possível solicitar um aumento da capacidade máxima de reserva dos seus projetos. Os aumentos de reserva estão disponíveis na maioria das regiões e podem levar de três dias a uma semana para serem processados.

      Localização da capacidade do BI Engine

  4. Clique em Próxima.

  5. Tabelas preferenciais (opcional) As tabelas preferenciais permitem limitar a aceleração do BI Engine a um conjunto especificado de tabelas. Todas as outras tabelas usam slots normais do BigQuery.

    No campo ID da tabela, especifique a tabela que você quer acelerar usando o padrão PROJECT.DATASET.TABLE.

    Substitua:

    • PROJECT: o ID do projeto do Google Cloud
    • DATASET: o conjunto de dados
    • TABLE: a tabela que você quer acelerar
  6. Clique em Próxima.

  7. Para a Etapa 3, revise os detalhes da sua reserva e clique em Criar.

Depois de confirmar sua reserva, os detalhes serão exibidos na página Reservas.

SQL

Use a instrução DDL ALTER BI_CAPACITY SET OPTIONS para criar ou modificar uma reserva do BI Engine.

  1. No Console do Google Cloud, acesse a página BigQuery.

    Ir para o BigQuery

  2. No editor de consultas, digite a seguinte instrução:

    ALTER BI_CAPACITY `PROJECT_ID.LOCATION_ID.default`
    SET OPTIONS (
      size_gb = VALUE,
      preferred_tables =
        ['TABLE_PROJECT_ID.DATASET.TABLE1',
        'TABLE_PROJECT_ID.DATASET.TABLE2']);

    Substitua:

    • PROJECT_ID: o ID opcional do projeto que se beneficiará da aceleração do BI Engine. Se omitido, o projeto padrão será usado.
    • LOCATION_ID: o local em que os dados precisam ser armazenados em cache, prefixados com region-. Exemplos: region-us, region-us-central1.
    • VALUE: o tamanho de INT64 da reserva da capacidade do BI Engine em gigabytes, de 1 a 250 GB. É possível solicitar um aumento da capacidade máxima de reserva dos seus projetos. Os aumentos de reserva estão disponíveis na maioria das regiões e podem levar de três dias a uma semana para serem processados. A definição de VALUE substitui o valor existente, se houver. Definir como NULL limpa o valor dessa opção.
    • TABLE_PROJECT_ID.DATASET.TABLE: a lista opcional de tabelas referenciadas às quais a aceleração será aplicada. Formato: TABLE_PROJECT_ID.DATASET.TABLE or DATASET.TABLE. Se o projeto for omitido, o projeto padrão será usado.

  3. Clique em Executar.

Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.

bq

Use o comando bq update e forneça a instrução de linguagem de definição de dados (DDL, na sigla em inglês) como o parâmetro de consulta:

bq --project_id=PROJECT_ID update \
    --bi_reservation_size=SIZE \
    --location=LOCATION \
    --reservation

Substitua:

  • PROJECT_ID: ID do projeto
  • SIZE: a capacidade de memória de reserva em gigabytes, de 1 a 250 GB. É possível solicitar um aumento da capacidade máxima de reserva dos seus projetos. Os aumentos de reserva estão disponíveis na maioria das regiões e podem levar de três dias a uma semana para serem processados.
  • LOCATION: o local do conjunto de dados que você está consultando.

Estimar e medir a capacidade

Para estimar os requisitos de capacidade de uma reserva do BI Engine, siga estas etapas:

  1. Confira a visualização TOTAL_LOGICAL_BYTES para determinar o tamanho lógico da tabela e use-o para sua reserva inicial do BI Engine. Por exemplo:

    SELECT
      SUM(TOTAL_LOGICAL_BYTES) / 1024.0 / 1024.0 / 1024.0 AS logical_size_gb
    FROM
      `region-us.INFORMATION_SCHEMA.TABLE_STORAGE`
    WHERE
      TABLE_NAME IN UNNEST(["Table1", "Table2"]);

    Por exemplo, para consultas em um conjunto de tabelas que contém um total de 200 GiB de dados, como prática recomendada, comece com uma reserva de 200 GiB do BI Engine. Consultas mais seletivas que usam apenas um subconjunto de campos ou partições disponíveis podem começar com um tamanho de reserva menor.

  2. Execute todas as consultas que precisam de otimização e que foram criadas no mesmo projeto e região que a reserva do BI Engine. A meta é aproximar a carga de trabalho que você precisa otimizar. O aumento da carga exige mais memória para processar consultas. Os dados são carregados no BI Engine depois que a consulta é recebida.

  3. Compare sua reserva de RAM do BI Engine com o número de bytes usados, reservation/used_bytes nas métricas bigquerybiengine do Cloud Monitoring.

  4. Ajuste a capacidade de reserva com base nos resultados. Em muitos casos de uso, uma reserva menor pode acelerar a maioria das consultas, economizando dinheiro e recursos. Para mais informações sobre o Monitoring para BI Engine, consulte este link.

Os fatores a seguir afetam o tamanho da reserva do BI Engine:

  • O BI Engine armazena em cache apenas as colunas e linhas acessadas com frequência necessárias para processar a consulta.
  • Quando uma reserva é totalmente usada, o BI Engine tenta descarregar os dados menos usados recentemente para liberar capacidade para novas consultas.
  • Se várias consultas com uso intenso de computação usarem o mesmo conjunto de dados, o BI Engine carregará cópias adicionais dos dados para redistribuir e otimizar os tempos de resposta.

Modificar uma reserva

Para modificar uma reserva, siga estas etapas:

Console

Para especificar um conjunto de tabelas para aceleração em uma reserva existente, siga estas etapas:

  1. No Console do Google Cloud, acesse a página BigQuery.

    Acessar o BigQuery

  2. No menu de navegação do BigQuery, clique em BI Engine.

    Se o projeto está configurado para tabelas preferenciais, um conjunto de tabelas é exibido na coluna Tabelas preferenciais.

    imagem

  3. Na linha da reserva que você quer editar, clique no ícone na coluna Ações e selecione Editar.

  4. Ajuste o controle deslizante de GiB de capacidade para a quantidade de capacidade da memória que você está reservando. Clique em Next.

  5. Tabelas preferenciais: para especificar um conjunto de tabelas para aceleração em uma reserva, no campo ID da tabela, especifique a tabela que você quer acelerar usando o padrão: PROJECT.DATASET.TABLE.

    Substitua:

    • PROJECT: o ID do projeto do Google Cloud
    • DATASET: o conjunto de dados
    • TABLE: a tabela que você quer acelerar

    As mudanças podem levar até 10 segundos para entrar em vigor. Somente as tabelas preferenciais da lista podem usar a aceleração do BI Engine.

    Clique em Próxima.

  6. Confirme a reserva modificada. Se você concordar, clique em Atualizar.

SQL

É possível usar a instrução DDL ALTER BI_CAPACITY SET OPTIONS para criar ou modificar uma reserva do BI Engine.

  1. No Console do Google Cloud, acesse a página BigQuery.

    Ir para o BigQuery

  2. No editor de consultas, digite a seguinte instrução:

    ALTER BI_CAPACITY `PROJECT_ID.LOCATION_ID.default`
    SET OPTIONS (
      size_gb = VALUE,
      preferred_tables =
        [`TABLE_PROJECT_ID.DATASET.TABLE1`,
        `TABLE_PROJECT_ID.DATASET.TABLE2`]);

    Substitua:

    • PROJECT_ID: ID opcional do projeto que se beneficiará da aceleração do BI Engine. Se omitido, o projeto padrão será usado.
    • LOCATION_ID: o local em que os dados precisam ser armazenados em cache, prefixados com region-. Exemplos: region-us, region-us-central1.
    • VALUE: o tamanho de INT64 da reserva da capacidade do BI Engine em gigabytes, de 1 a 250 GB. É possível solicitar um aumento da capacidade máxima de reserva dos seus projetos. Os aumentos de reserva estão disponíveis na maioria das regiões e podem levar de três dias a uma semana para serem processados. A definição de VALUE substitui o valor existente, se houver. Definir como NULL limpa o valor dessa opção.
    • TABLE_PROJECT_ID.DATASET.TABLE: lista opcional de tabelas preferenciais às quais a aceleração será aplicada. Formato: TABLE_PROJECT_ID.DATASET.TABLE or DATASET.TABLE. Se o projeto for omitido, o projeto padrão será usado.

  3. Clique em Executar.

Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.

Excluir uma reserva

Para excluir uma reserva de capacidade, siga estas etapas:

Console

  1. Na página do BigQuery, em Administração, acesse a página BI Engine.

    Acessar BI Engine

  2. Na seção Reservas, localize sua reserva.

  3. Na coluna Ações, clique no ícone à direita da sua reserva e escolha Excluir.

  4. Na caixa de diálogo Excluir reserva?, digite Excluir e clique em EXCLUIR.

SQL

Define as opções na capacidade do BI Engine.

  1. No Console do Google Cloud, acesse a página BigQuery.

    Ir para o BigQuery

  2. No editor de consultas, digite a seguinte instrução:

    ALTER BI_CAPACITY `PROJECT_ID.LOCATION_ID.default`
    SET OPTIONS (
      size_gb = 0);

    Substitua:

    • PROJECT_ID: ID opcional do projeto que se beneficiará da aceleração do BI Engine. Se omitido, o projeto padrão será usado.
    • LOCATION_ID: o local em que os dados precisam ser armazenados em cache, prefixados com region-. Exemplos: region-us, region-us-central1.

    Quando você exclui todas as reservas de capacidade em um projeto, o BI Engine é desativado para esse projeto.

  3. Clique em Executar.

Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.

bq

Use o comando bq update e forneça a instrução DDL como o parâmetro de consulta.

bq --project_id="PROJECT_ID" \
update --reservation
    --bi_reservation_size=0 \
    --location=LOCATION

Substitua:

  • PROJECT_ID: ID do projeto
  • LOCATION: o local do conjunto de dados que você está consultando.

Verificar as informações do BI Engine

Consulte as tabelas INFORMATION_SCHEMA para ver informações sobre sua capacidade do BI Engine.

Verificar o status da reserva

Para verificar o status da reserva, incluindo um conjunto de tabelas preferenciais, use a visualização INFORMATION_SCHEMA.BI_CAPACITIES em uma consulta SQL. Exemplo:

SELECT
  *
FROM
  `<PROJECT_ID>.region-<REGION>.INFORMATION_SCHEMA.BI_CAPACITIES`;

No console do Google Cloud, o resultado dessa consulta SQL é semelhante a este:

imagem

Conferir mudanças de reserva

Para ver o histórico de alterações de uma reserva específica, use a visualização INFORMATION_SCHEMA.BI_CAPACITY_CHANGES em uma consulta SQL. Por exemplo:

SELECT
  *
FROM
  `<PROJECT_ID>.region-<REGION>.INFORMATION_SCHEMA.BI_CAPACITY_CHANGES`
ORDER BY
  change_timestamp DESC
LIMIT 3;

No console do Google Cloud, o resultado dessa consulta SQL é semelhante a este:

linhas de resultados com change_timestamp project_id project_number

A seguir