Au milieu des années 2000, les analystes de Google pouvaient lancer d'énormes calculs avec MapReduce, mais chaque tâche prenait de quelques minutes à plusieurs heures — trop lent pour explorer les données de façon interactive. Les ingénieurs voulaient la vitesse de la recherche web pour des questions de type base de données portant sur des pétaoctets.

Dremel, en production depuis 2006, combinait deux idées : un stockage en colonnes qui encode les enregistrements imbriqués afin qu'une requête ne lise que les champs dont elle a besoin, et un arbre de service à plusieurs niveaux qui répartit une requête sur des milliers de nœuds et agrège les réponses. L'article VLDB de 2010 rapporte des balayages de tables de 85 milliards d'enregistrements sur des grappes de 3 000 nœuds, la plupart des requêtes s'achevant en moins de 10 secondes.

Google a lancé cette technologie sous le nom de BigQuery lors de sa conférence I/O en mai 2010, y a ajouté une interface graphique et une API REST en novembre 2011, et l'a rendue généralement disponible en mai 2012 — présentée comme permettant aux utilisateurs d'analyser des téraoctets de données sans acheter de matériel.

Stocker les données par colonne ; répondre en quelques secondes

La disposition en colonnes réduit les octets lus : une requête ne touche que les champs nécessaires.

L'exécution en arbre parallélise le travail sur des milliers de machines standard.

Des requêtes natives de type SQL remplacent les pipelines MapReduce en plusieurs étapes.

L'accès in situ lit les données directement depuis GFS ou Bigtable, sans étape de chargement.

Organisez les données en fonction des questions que vous poserez, et non de la manière dont elles ont été écrites : ne lire que les colonnes nécessaires et pousser le travail dans un arbre transforme des tâches qui prenaient un batch en requêtes qui tiennent dans une réunion.

BigQuery est devenu l'un des entrepôts de données cloud grand public, utilisé par des milliers d'entreprises, et le format en colonnes de Dremel a influencé des systèmes ultérieurs tels qu'Apache Parquet. L'article reste l'un des travaux les plus cités dans le domaine des systèmes de big data.

VÉRIFIEZ LES SOURCES

Les sources

  1. Dremel: Interactive Analysis of Web-Scale Datasets Proceedings of the VLDB Endowment · comp.nus.edu.sg
  2. Google opens BigQuery cloud analytics to all ZDNet · zdnet.com ·
  3. Big Data Analysis Field Expands with Launch of Google BigQuery Database Trends and Applications · dbta.com ·