Présentation de Random Access Parquet
Les entreprises comme Spotify nécessitent des quantités massives de données accessibles à faible latence pour les services en ligne et les agents IA agissant au nom des utilisateurs. Les services en ligne, tels que les portails et les fonctionnalités de personnalisation, nécessitent d'accéder rapidement aux données par utilisateur. Les agents IA doivent récupérer les données utilisateur rapidement pour construire le contexte des requêtes.
Contexte technique
À Spotify, des pétaoctets de données sont stockés dans Bigtable pour les cas d'utilisation en ligne, mais des exaoctets sont stockés dans le lac de données GCS. Le stockage sous-jacent pour les lacs de données est rapide et devient de plus en plus rapide, avec des latences de 30 à 100 ms par requête. Cependant, les moteurs de requête distribués comme Trino et BigQuery ajoutent des secondes de latence pour la planification et l'exécution des requêtes, même pour une simple recherche.
Fonctionnement de Random Access Parquet
Random Access Parquet (RAP) comble ce fossé en utilisant un index externe qui mappe directement les clés aux emplacements de fichiers et de lignes. Cela permet des lectures précises et rapides des données sans avoir à scanner les fichiers entiers. L'index est construit en lisant les pieds de page et les métadonnées des fichiers, puis en écrivant les entrées d'index correspondantes.
Index Builder -> Lecture des pieds de page et des métadonnées -> Construction de l'index
Optimisations pour les fichiers Parquet préparés
Les optimisations pour les fichiers Parquet préparés incluent la concentration des données par clé, la réduction des octets lus et la réduction du nombre de lectures. Cela peut être réalisé en triant les données par clé, en utilisant des pages plus petites et en réduisant les lectures round-trip. Les avantages de RAP incluent une latence réduite, une bande passante réduite et une meilleure efficacité pour les requêtes de point.