Bitwise dimensional co-clustering for analytical workloads

Stephan Baumann*, Peter Boncz, Kai Uwe Sattler

*Corresponding author for this work

Research output: Contribution to JournalArticleAcademicpeer-review


Analytical workloads in data warehouses often include heavy joins where queries involve multiple fact tables in addition to the typical star-patterns, dimensional grouping and selections. In this paper we propose a new processing and storage framework called bitwise dimensional co-clustering (BDCC) that avoids replication and thus keeps updates fast, yet is able to accelerate all these foreign key joins, efficiently support grouping and pushes down most dimensional selections. The core idea of BDCC is to cluster each table on a mix of dimensions, each possibly derived from attributes imported over an incoming foreign key and this way creating foreign key connected tables with partially shared clusterings. These are later used to accelerate any join between two tables that have some dimension in common and additionally permit to push down and propagate selections (reduce I/O) and accelerate aggregation and ordering operations. Besides the general framework, we describe an algorithm to derive such a physical co-clustering database automatically and describe query processing and query optimization techniques that can easily be fitted into existing relational engines. We present an experimental evaluation on the TPC-H benchmark in the Vectorwise system, showing that co-clustering can significantly enhance its already high performance and at the same time significantly reduce the memory consumption of the system.

Original languageEnglish
Pages (from-to)291-316
Number of pages26
JournalVLDB Journal
Issue number3
Publication statusPublished - 1 Jun 2016


  • Clustering
  • Data warehouse
  • Database design
  • Indexing
  • OLAP
  • Query processing
  • Sandwich operators
  • Storage


Dive into the research topics of 'Bitwise dimensional co-clustering for analytical workloads'. Together they form a unique fingerprint.

Cite this