Hologres propose quatre tables système dédiées à la gestion et au suivi des Dynamic Tables. Utilisez ces tables pour inspecter les métadonnées, retracer la lignée des données et diagnostiquer les problèmes liés aux tâches d'actualisation.
| Table système | Description |
|---|---|
hologres.hg_dynamic_table_properties |
Stocke les métadonnées des Dynamic Tables, y compris le mode d'actualisation, la planification et la configuration des ressources de calcul. |
hologres.hg_dynamic_table_dependencies |
Stocke la lignée des données, c'est-à-dire les tables de base dont dépend une Dynamic Table. |
hologres.hg_dynamic_table_refresh_activity |
Stocke les tâches d'actualisation en cours d'exécution. Non prise en charge dans Hologres V3.1 et versions ultérieures. |
hologres.hg_dynamic_table_refresh_history |
Stocke l'historique des tâches d'actualisation. Les données sont conservées pendant un mois par défaut. |
La table système hologres.hg_dynamic_table_properties
Cette table conserve les métadonnées de chaque Dynamic Table, notamment sa configuration d'actualisation et la définition de sa requête.
| Champ | Description |
|---|---|
dynamic_table_namespace |
Le schéma auquel appartient la Dynamic Table. |
dynamic_table_name |
Le nom de la Dynamic Table. |
property_key et property_value |
Le nom de la propriété et sa valeur. Consultez les tableaux ci-dessous pour la liste exhaustive des propriétés prises en charge. |
Propriétés générales
| Propriété | Description |
|---|---|
execution_mode |
Le mode d'actualisation. Valeurs possibles : full (actualisation complète), incremental (actualisation incrémentielle), none (aucun mode d'actualisation défini). |
task_definition |
La définition de la requête de la Dynamic Table. |
auto_refresh_enable |
Indique si l'actualisation automatique est activée. Valeurs possibles : true (activée), false (désactivée). |
task_definition_search_path |
Le schéma de la requête. |
state_time_to_live_in_seconds |
La durée de conservation des données dans la table d'état, exprimée en secondes. |
Paramètres pour l'actualisation incrémentielle
| Propriété | Description |
|---|---|
incremental_auto_refresh_schd_start_time |
L'heure de début de l'actualisation. Valeurs possibles : immediate (démarrage immédiat après la création de la table) ou une heure personnalisée telle que 2024-08-27 15:00:00. |
incremental_auto_refresh_interval |
L'intervalle d'actualisation. Plage : de 1 minute à 48 heures. |
incremental_guc_hg_computing_resource |
La ressource de calcul utilisée pour l'actualisation. La valeur est serverless, ce qui signifie que des ressources Serverless Computing sont utilisées. |
incremental_guc_hg_experimental_serverless_computing_required_cores |
Les spécifications des ressources de calcul pour l'actualisation incrémentielle. |
incremental_state_table_group |
Le groupe de tables contenant la table d'état en mode d'actualisation incrémentielle. |
incremental_plan |
Le plan d'exécution pour l'actualisation incrémentielle. |
Paramètres pour l'actualisation complète
| Propriété | Description |
|---|---|
full_auto_refresh_schd_start_time |
L'heure de début de l'actualisation. Valeurs possibles : immediate (démarrage immédiat après la création de la table) ou une heure personnalisée telle que 2024-08-27 15:00:00. |
full_auto_refresh_interval |
L'intervalle d'actualisation. Plage : de 1 minute à 48 heures. |
full_guc_hg_computing_resource |
La ressource de calcul utilisée. Valeurs possibles : local (utilise les ressources de l'instance actuelle), serverless (utilise des ressources Serverless Computing). Pour plus d'informations, consultez la section Serverless Computing. |
full_guc_hg_experimental_serverless_computing_required_cores |
Les spécifications des ressources de calcul pour l'actualisation complète. |
La table système hologres.hg_dynamic_table_dependencies
Cette table stocke la lignée des données des Dynamic Tables, en précisant notamment les tables de base dont chaque Dynamic Table dépend.
Remarques :
Une Dynamic Table pouvant dépendre de plusieurs tables de base, plusieurs lignes peuvent apparaître pour une seule Dynamic Table.
La table d'état utilisée lors de l'actualisation incrémentielle est également enregistrée comme table de base. Par défaut, elle réside dans le schéma système
hologres_streaming_mv; ignorez les lignes associées à ce schéma dans la pratique.Utilisez des tables système telles que
pg_classpour différencier davantage les types de tables de base.
| Champ | Description |
|---|---|
table_namespace |
Le schéma auquel appartient la table de base. |
table_name |
Le nom de la table de base. |
dynamic_table_namespace |
Le schéma auquel appartient la Dynamic Table. |
dynamic_table_name |
Le nom de la Dynamic Table. |
dependency |
Le type de la table de base. Valeurs possibles : base_table (table standard), base_dimension_table (table de dimension), internal_table (table interne — à ignorer dans la pratique). |
Exemple : interroger la lignée des données pour une Dynamic Table spécifique
SELECT
table_namespace,
table_name,
dependency
FROM hologres.hg_dynamic_table_dependencies
WHERE dynamic_table_name = '<your_dynamic_table>'
AND table_namespace != 'hologres_streaming_mv'
ORDER BY dependency;
La table système hologres.hg_dynamic_table_refresh_activity
Cette table système n'est pas prise en charge dans les instances Hologres V3.1 et versions ultérieures. Utilisez hologres.hg_dynamic_table_refresh_history pour consulter les tâches d'actualisation terminées.
Cette table recense les tâches d'actualisation des Dynamic Tables actuellement en cours d'exécution.
| Champ | Description |
|---|---|
pid |
L'ID de processus (PID) de la tâche d'actualisation. Utilisez le PID pour annuler une tâche d'actualisation en cours. Pour plus d'informations, consultez la section Cancel a refresh task. |
datname |
La base de données dans laquelle réside la Dynamic Table. |
query_id |
L'ID de la requête de la tâche d'actualisation. |
usename |
L'utilisateur qui exécute l'actualisation de la Dynamic Table. |
query |
La requête d'actualisation. |
refresh_mode |
Le mode d'actualisation. Valeurs possibles : full (actualisation complète), incremental (actualisation incrémentielle), none (aucun mode d'actualisation défini). |
refresh_start |
L'heure de début de la tâche d'actualisation. |
duration |
La durée d'exécution de la tâche d'actualisation. |
serverless_queue_time_ms |
Le temps d'attente de la tâche d'actualisation pour l'allocation de ressources Serverless Computing. Affiché uniquement pour les actualisations utilisant Serverless Computing. |
serverless_resource_used_time_ms |
La durée d'utilisation des ressources Serverless Computing par la tâche d'actualisation. Affiché uniquement pour les actualisations utilisant Serverless Computing. |
serverless_allocated_cores |
Les spécifications des ressources Serverless Computing allouées à la tâche d'actualisation. Affiché uniquement pour les actualisations utilisant Serverless Computing. |
serverless_allocated_workers |
Le nombre de workers serverless alloués à la tâche d'actualisation. Affiché uniquement pour les actualisations utilisant Serverless Computing. |
table_write |
La Dynamic Table sur laquelle s'effectue la tâche d'actualisation. Affiché uniquement pour les actualisations utilisant Serverless Computing. |
La table système hologres.hg_dynamic_table_refresh_history
Cette table conserve l'historique des tâches d'actualisation des Dynamic Tables. Les données sont retenues pendant un mois par défaut.
| Champ | Description |
|---|---|
datname |
La base de données dans laquelle réside la Dynamic Table. |
schema_name |
Le schéma auquel appartient la Dynamic Table. |
dynamic_table_name |
Le nom de la Dynamic Table. |
query_id |
L'ID de la requête d'actualisation. Utilisez cet ID dans la section Get query insights pour afficher les informations détaillées de la requête. |
refresh_start |
L'heure de début de l'actualisation. |
refresh_end |
L'heure de fin de l'actualisation. |
duration |
La durée de l'actualisation. |
refresh_latency |
La latence des données au moment où l'actualisation s'est achevée. |
refresh_mode |
Le mode d'actualisation. Valeurs possibles : full (actualisation complète), incremental (actualisation incrémentielle), none (aucun mode d'actualisation défini). |
status |
L'état de l'actualisation. Valeurs possibles : SUCCESS (Succès), FAILED (Échec de la tâche). |
queue_time_ms |
Le temps passé à attendre des ressources Serverless Computing. Affiché uniquement pour les actualisations utilisant Serverless Computing. |
serverless_allocated_cores |
La quantité de ressources Serverless Computing utilisées, exprimée en CUs. Affiché uniquement pour les actualisations utilisant Serverless Computing. |
serverless_allocated_workers |
Le nombre de workers serverless utilisés. Affiché uniquement pour les actualisations utilisant Serverless Computing. |
serverless_resource_used_time_ms |
La durée d'utilisation active des ressources Serverless Computing pour exécuter la requête, en millisecondes. N'inclut pas le temps de mise en file d'attente. Affiché uniquement pour les actualisations utilisant Serverless Computing. |
Exemple : identifier les actualisations ayant échoué au cours de la semaine dernière
SELECT
dynamic_table_name,
refresh_start,
refresh_end,
duration,
refresh_mode,
status
FROM hologres.hg_dynamic_table_refresh_history
WHERE status = 'FAILED'
AND refresh_start >= NOW() - INTERVAL '7 days'
ORDER BY refresh_start DESC;
Exemple : vérifier la latence d'actualisation pour une Dynamic Table spécifique
SELECT
refresh_start,
refresh_end,
duration,
refresh_latency,
status
FROM hologres.hg_dynamic_table_refresh_history
WHERE dynamic_table_name = '<your_dynamic_table>'
ORDER BY refresh_start DESC
LIMIT 20;