A Columnar Database is a database management system that stores table data as sections of data columns, compared to most relational databases that store data in rows. This has advantages in data warehouses, customer relationship management (CRM) systems, bibliographic card catalogs, and other ad hoc systems, where aggregates are calculated on a large volume of similar data. A columnar database refers to both a column-oriented structure and a focus on optimization for column-oriented workloads.
This approach contrasts with row-oriented databases or databases stored per row and related databases, which use a value-based storage structure. Columnar databases are designed to return data for a limited number of columns efficiently. All values of a column are stored together. A columnar database excels at reading operations on a limited number of columns. The columnar database systems allow the optimization of the performance of analysis queries by drastically reducing the overall disk I/O requirements and the amount of data to be loaded from the disk.