MariaDB ColumnStore

MariaDB ColumnStore provides distributed, columnar storage for scalable analytical processing.

MariaDB ColumnStore is a component of MariaDB Platform.

Primary documentation for MariaDB ColumnStore is located in the MariaDB Public Knowledge Base.

Benefits of Columnar Storage

Queries used in analytical workloads have different demands than those used in transactional workloads. They operate on tables with many columns and many millions of rows, and perform complex joins and aggregation.

Row-oriented storage engines depend on indexes for performance, and are generally optimized for transactional workloads. Due to the complexity or impossibility of identifying index requirements in advance, row-oriented storage engines are difficult to optimize for analytical workloads.

MariaDB ColumnStore is a columnar storage engine. Data is written to disk by column rather than by row, which means it doesn't need indexes and can handle the unpredictability of analytical queries.

MariaDB ColumnStore Components

A deployment of MariaDB ColumnStore includes:

Scale-out

MariaDB ColumnStore's design supports targeted scale-out to address workload needs. Multiple User Modules may be deployed to handle a larger query load. Performance Modules may be deployed to increase storage and query processing capacity.

For use cases that require execution of both analytical and transactional queries, MariaDB Platform supports the use of MariaDB MaxScale to deliver Hybrid Transactional-Analytical Processing (HTAP). Here, MariaDB MaxScale operates on the front-end distributing transactional queries to MariaDB Servers and analytical queries to MariaDB ColumnStore User Modules. MaxScale also operates on the back-end, replicating data between the Server and the ColumnStore clusters, ensuring that the data remains up to date.