Réserver de la capacité BI Engine

Les frais d'utilisation de BigQuery BI Engine sont basés sur la capacité BI Engine que vous achetez pour votre projet. Les réservations sont facturées par Go-heure et sont facturées par région selon la tarification à la demande. Si vous avez souscrit un engagement de capacité, vous pouvez bénéficier d'une remise allant jusqu'à 100 % en fonction de l'engagement actif. Pour en savoir plus, consultez Tarifs basés sur la capacité.

Vous achetez de la capacité BigQuery en créant une réservation. La réservation est associée à un projet que vous identifiez lors de la création de la réservation. BI Engine utilise cette capacité pour déterminer la quantité de données pouvant être mises en cache. Pour en savoir plus sur la taille de réservation maximale pour BI Engine, consultez la section Quotas et limites.

Rôles requis

Pour obtenir les autorisations nécessaires pour créer et supprimer des réservations, demandez à votre administrateur de vous accorder le rôle IAM Administrateur de ressources BigQuery (roles/bigquery.resourceAdmin) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Créer une réservation

Pour réserver de la capacité BI Engine à la demande, procédez comme suit :

Console

  1. Sur la page BigQuery, dans Administration, accédez à la page BI Engine.

    Accéder à BI Engine

  2. Cliquez sur Créer une réservation.

  3. Sur la page Créer une réservation, pour Étape 1 :

    • Vérifiez le nom de votre projet.
    • Sélectionnez votre localisation. L'emplacement doit correspondre à celui des ensembles de données que vous interrogez.
    • Ajustez le curseur en fonction de la capacité de mémoire que vous réservez. L'exemple suivant définit la capacité sur 2 Go. La valeur maximale actuelle est de 250 Go. Vous pouvez demander une augmentation de la capacité de réservation maximale pour vos projets. Les augmentations de réservation sont disponibles dans la plupart des régions et leur traitement peut prendre de trois jours à une semaine.

      Emplacement de capacité BI Engine

  4. Cliquez sur Suivant.

  5. Tables préférées (facultatif). Les tables préférées vous permettent de limiter l'accélération de BI Engine à un ensemble spécifié de tables. Toutes les autres tables utilisent des emplacements BigQuery standards.

    Dans le champ ID de la table, spécifiez la table que vous souhaitez accélérer à l'aide du modèle PROJECT.DATASET.TABLE.

    Remplacez les éléments suivants :

    • PROJECT : ID de votre projet Google Cloud
    • DATASET : ensemble de données
    • TABLE : table à accélérer
  6. Cliquez sur Suivant.

  7. Pour Étape 3, consultez les détails de votre réservation, puis cliquez sur Créer.

Une fois votre réservation confirmée, les détails s'affichent sur la page Réservations.

SQL

Utilisez l'instruction LDD ALTER BI_CAPACITY SET OPTIONS pour créer ou modifier une réservation BI Engine.

  1. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans l'éditeur de requête, saisissez l'instruction suivante :

    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']);

    Remplacez l'élément suivant :

    • PROJECT_ID : ID facultatif du projet qui bénéficiera de l'accélération BI Engine. S'il est omis, le projet par défaut est utilisé.
    • LOCATION_ID : emplacement dans lequel les données doivent être mises en cache, précédé de region-. Exemples : region-us, region-us-central1.
    • VALUE : taille INT64 de la réservation de capacité BI Engine en gigaoctets, de 1 à 250 Go. Vous pouvez demander une augmentation de la capacité de réservation maximale pour vos projets. Les augmentations de réservation sont disponibles dans la plupart des régions et leur traitement peut prendre de trois jours à une semaine. Définir VALUE remplace la valeur existante, le cas échéant. Définir NULL efface la valeur de cette option.
    • TABLE_PROJECT_ID.DATASET.TABLE : liste facultative des tables préférées auxquelles l'accélération doit être appliquée. Format : TABLE_PROJECT_ID.DATASET.TABLE or DATASET.TABLE Si le projet est omis, le projet par défaut est utilisé.

  3. Cliquez sur Exécuter.

Pour en savoir plus sur l'exécution des requêtes, consultez Exécuter une requête interactive.

bq

Utilisez la commande bq update et indiquez l'instruction LDD (langage de définition de données) comme paramètre de requête :

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet
  • SIZE : capacité de mémoire de la réservation en gigaoctets, de 1 à 250 Go. Vous pouvez demander une augmentation de la capacité de réservation maximale pour vos projets. Les augmentations de réservation sont disponibles dans la plupart des régions et leur traitement peut prendre de trois jours à une semaine.
  • LOCATION : emplacement de l'ensemble de données que vous interrogez.

Estimer et mesurer la capacité

Pour estimer la capacité requise pour une réservation BI Engine, procédez comme suit :

  1. Affichez la vue TOTAL_LOGICAL_BYTES pour déterminer la taille logique de la table, puis utilisez-la pour votre réservation BI Engine initiale. Exemple :

    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"]);

    Par exemple, pour les requêtes sur un ensemble de tables contenant au total 200 Gio de données, vous pouvez commencer par une réservation BI Engine de 200 Gio. Les requêtes plus sélectives qui n'utilisent qu'un sous-ensemble de champs ou de partitions disponibles peuvent commencer avec une taille de réservation plus petite.

  2. Exécutez toutes les requêtes qui nécessitent une optimisation et qui ont été créées dans le même projet et dans la même région que la réservation BI Engine. L'objectif est d'estimer la charge de travail que vous devez optimiser. La charge accrue nécessite plus de mémoire pour gérer les requêtes. Les données sont chargées dans BI Engine après la réception de la requête.

  3. Comparez votre réservation RAM BI Engine au nombre d'octets utilisés, soit reservation/used_bytes dans les métriques bigquerybiengine de Cloud Monitoring.

  4. Ajustez la capacité de votre réservation en fonction des résultats. Dans de nombreux cas d'utilisation, une réservation plus petite peut accélérer la majorité des requêtes, économisant ainsi de l'argent et des ressources. Pour en savoir plus sur la surveillance de BI Engine, consultez la section Surveiller BI Engine.

Les facteurs suivants ont une incidence sur la taille de réservation BI Engine :

  • BI Engine ne met en cache que les colonnes et les lignes fréquemment utilisées qui sont nécessaires pour traiter la requête.
  • Lorsqu'une réservation est entièrement utilisée, BI Engine tente de décharger les données les moins récemment utilisées afin de libérer de la capacité pour les nouvelles requêtes.
  • Si plusieurs requêtes qui utilisent beaucoup de ressources de calcul utilisent le même ensemble de données, BI Engine charge des copies supplémentaires des données pour redistribuer et optimiser les temps de réponse.

Modifier une réservation

Pour modifier une réservation existante, procédez comme suit :

Console

Pour spécifier un ensemble de tables pour l'accélération dans une réservation existante, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans le menu de navigation de BigQuery, cliquez sur BI Engine.

    Si votre projet est configuré pour les tables préférées, un ensemble de tables s'affiche dans la colonne Tables préférées.

    image

  3. Sur la ligne de la réservation que vous souhaitez modifier, cliquez sur l'icône dans la colonne Actions, puis sélectionnez Modifier.

  4. Ajustez le curseur Gio de capacité en fonction de la capacité de mémoire que vous réservez. Cliquez sur Suivant.

  5. Tables préférées : pour spécifier un ensemble de tables à accélérer dans une réservation existante, spécifiez la table que vous souhaitez accélérer à l'aide du modèle PROJECT.DATASET.TABLE dans le champ ID de la table.

    Remplacez les éléments suivants :

    • PROJECT : ID de votre projet Google Cloud
    • DATASET : ensemble de données
    • TABLE : table à accélérer

    La prise en compte des modifications peut prendre jusqu'à 10 secondes. Seules les tables de la liste des tables préférées peuvent utiliser l'accélération de BI Engine.

    Cliquez sur Suivant.

  6. Confirmez votre réservation modifiée. Si vous acceptez, cliquez sur Mettre à jour.

SQL

Vous pouvez créer ou modifier une réservation BI Engine à l'aide de l'instruction LDD ALTER BI_CAPACITY SET OPTIONS.

  1. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans l'éditeur de requête, saisissez l'instruction suivante :

    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`]);

    Remplacez les éléments suivants :

    • PROJECT_ID : ID facultatif du projet qui bénéficiera de l'accélération de BI Engine. S'il est omis, le projet par défaut est utilisé.
    • LOCATION_ID : emplacement dans lequel les données doivent être mises en cache, précédé de region-. Exemples : region-us, region-us-central1.
    • VALUE : taille INT64 de la réservation de capacité BI Engine en gigaoctets, de 1 à 250 Go. Vous pouvez demander une augmentation de la capacité de réservation maximale pour vos projets. Les augmentations de réservation sont disponibles dans la plupart des régions et leur traitement peut prendre de trois jours à une semaine. Définir VALUE remplace la valeur existante, le cas échéant. Définir NULL efface la valeur de cette option.
    • TABLE_PROJECT_ID.DATASET.TABLE : liste facultative des tables préférées auxquelles l'accélération doit être appliquée. Format : TABLE_PROJECT_ID.DATASET.TABLE or DATASET.TABLE Si le projet est omis, le projet par défaut est utilisé.

  3. Cliquez sur Exécuter.

Pour en savoir plus sur l'exécution des requêtes, consultez Exécuter une requête interactive.

Supprimer une réservation

Pour supprimer une réservation de capacité, procédez comme suit :

Console

  1. Sur la page BigQuery, sous Administration, accédez à la page BI Engine.

    Accéder à BI Engine

  2. Dans la section Réservations, recherchez votre réservation.

  3. Dans la colonne Actions, cliquez sur l'icône  située à droite de votre réservation, puis sélectionnez Supprimer.

  4. Dans la boîte de dialogue Supprimer la réservation ?, saisissez Delete (supprimer), puis cliquez sur SUPPRIMER.

SQL

Définit les options sur la capacité BI Engine.

  1. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans l'éditeur de requête, saisissez l'instruction suivante :

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

    Remplacez les éléments suivants :

    • PROJECT_ID : ID facultatif du projet qui bénéficiera de l'accélération de BI Engine. S'il est omis, le projet par défaut est utilisé.
    • LOCATION_ID : emplacement dans lequel les données doivent être mises en cache, précédé de region-. Exemples : region-us, region-us-central1.

    Lorsque vous supprimez toutes les réservations de capacité d'un projet, BI Engine est désactivé pour ce projet.

  3. Cliquez sur Exécuter.

Pour en savoir plus sur l'exécution des requêtes, consultez Exécuter une requête interactive.

bq

Utilisez la commande bq update et fournissez l'instruction LDD comme paramètre de requête.

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet
  • LOCATION : emplacement de l'ensemble de données que vous interrogez.

Vérifier les informations sur BI Engine

Vous pouvez obtenir des informations sur votre capacité BI Engine en interrogeant les tables INFORMATION_SCHEMA.

Vérifier l'état d'une réservation

Pour vérifier l'état de votre réservation, y compris un ensemble de tables préférées, affichez la vue INFORMATION_SCHEMA.BI_CAPACITIES à l'aide d'une requête SQL. Exemple :

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

Dans la console Google Cloud, le résultat de cette requête SQL se présente comme suit :

image

Afficher les modifications apportées à une réservation

Pour afficher l'historique des modifications d'une réservation spécifique, utilisez la vue INFORMATION_SCHEMA.BI_CAPACITY_CHANGES à l'aide d'une requête SQL. Exemple :

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

Dans la console Google Cloud, le résultat de cette requête SQL se présente comme suit :

Lignes de résultats avec change_timestamp project_id project_number

Étape suivante