Passer au contenu principal
Un benchmark populaire qui modélise le data warehouse interne d’un grossiste. Les données sont stockées selon une modélisation en troisième forme normale, ce qui nécessite de nombreuses jointures lors de l’exécution des requêtes. Malgré son ancienneté et l’hypothèse irréaliste selon laquelle les données sont réparties de manière uniforme et indépendante, TPC-H reste à ce jour le benchmark OLAP le plus populaire. Références

Génération et import des données

Commencez par cloner le dépôt TPC-H et compiler le générateur de données :
Ensuite, générez les données. Le paramètre -s indique le facteur d’échelle. Par exemple, avec -s 100, 600 millions de lignes sont générées dans la table ‘lineitem’.
Pour aller plus vite, vous pouvez utiliser une génération “par lots” (dans plusieurs processus) :
Tailles détaillées des tables pour un facteur d’échelle de 100 : (Les tailles compressées dans ClickHouse proviennent de system.tables.total_bytes et sont basées sur les définitions de table ci-dessous.) Créez maintenant les tables dans ClickHouse. Les définitions de table sont disponibles dans init.sql dans le dépôt ClickHouse. Les données peuvent être importées de la manière suivante :
Plutôt que d’utiliser tpch-kit et de générer les tables vous-même, vous pouvez également importer les données depuis un bucket S3 public. Veillez à créer d’abord des tables vides à l’aide de init.sql.

Requêtes

Les 22 requêtes TPC-H sont disponibles ici, dans le dépôt ClickHouse. Pour obtenir un comportement conforme au standard SQL et les résultats attendus, appliquez les paramètres de settings.json. Consultez le README pour connaître les problèmes connus et les remarques sur certaines requêtes. Exactitude Les résultats des requêtes correspondent aux résultats officiels, sauf mention contraire. Pour le vérifier, générez une base de données TPC-H avec un facteur d’échelle de 1 (dbgen, voir ci-dessus), puis comparez-les aux résultats attendus dans tpch-kit.
Dernière modification le 2 juillet 2026