Dremel est la version privée de BigQuery

Le but de Dremel est de pouvoir extraire facilement des informations depuis de grands ensembles de données.

Architecture de Dremel

Dremel transforme les requêtes SQL en un arbre d’exécution. Les feuilles de l’arbre (leaf nodes), encore appelées “slots”, font le gros du travail en lisant les données de Colossus et effectuent les calculs nécessaires.

Les branches de l’arbre sont des “mélangeurs” (mixers). Les mixers effectuent l’agrégation. La communication entre les mixers et les leafs se fait en utilisant le réseau Jupiter. Ce réseau permet de déplacer de la donnée très rapidement d’un serveur à un autre.

Les mixers et les leafs sont gérés par Borg, l’orchestrateur de containers de Google.

Exemple d’utilisation de Dremel

Un usage type pour un employé de Google est de pouvoir savoir combien d’affichages d’AdWords ont eu lieu hier, mais juste sur Los Angeles ou Tokyo.

Dremel est capable d’effectuer ce genre de recherche sur des datasets immenses en quelques secondes, grâce à des requêtes de type SQL très simples.

Ce système de requêtes massivement parallèle peut effectuer un scan de 35 milliards de lignes en quelques dixièmes de secondes, sans index.

Liens intéressants

Références