Wide-column store
A wide-column store (or extensible record store) is a type of NoSQL database.[1] It uses tables, rows, and columns, but unlike a relational database, the names and format of the columns can vary from row to row in the same table. A wide-column store can be interpreted as a two-dimensional key–value store.[1] Google's Bigtable is one of the prototypical examples of a wide-column store.[2]
Definition
The name column-store historicaly referred to databases like C-Store, which was a column-oriented relational database. It eventually came to refer to Bigtable, Apache Cassandra, and similar systems, which also store groups of columns ("column families") together, but ditch the relational model.[3]
A wide-column store is a 2-level structure where each value is identified by 2 keys: the first key acts as a row identifier and the second acts as a column identifier. Columns are grouped together into column-families, which are physically stored together on disk.[4][3] The top-level structure of a wide-column store is called a keyspace, and column families are contained within this structure.[4] A wide-column database may also have supercolumns, which contain a map to other columns, this creating a nest column.[3][4]
The column families of a row may not necessarily be stored together on disk, but the columns within a column family are stored together.[4] A row is made up of a set of keys and values, which may span several column families, a column family is often likened to a table in a relational database.[4][3]
Versus document databases
Compared to a document databases, wide-column databases divide each record into column families that the database recognizes as separate units. This additional structure allows the database to organize into a two-dimensional structure, whereas document databases generally treat the entire document as the unit of storage and optimization despite allowing queries and partial retrievals of individual fields.[3]
Versus relational databases
Besides being denormalized, a wide-column database's structure is not as fixed as relational database, allowing dynamically adding columns, as well as allowing rows to have varying columns.[4]
Notable examples
Notable wide-column stores [5] include:
- Apache Accumulo
- Apache Cassandra
- Apache HBase
- Bigtable
- DataStax Enterprise (uses Apache Cassandra)
- DataStax Astra DB (uses Apache Cassandra)
- Hypertable
- Azure Tables
- ScyllaDB
References
- ↑ 1.0 1.1 Wide Column Stores . DB-Engines Encyclopedia.
- ↑ Chang, et al. (2006). Bigtable: A Distributed Storage System for Structured Data.
- ↑ 3.0 3.1 3.2 3.3 3.4 Sadalage, Pramod J.; Fowler, Martin (8 August 2012) (in en). NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Addison-Wesley. pp. 20-24. ISBN 978-0-13-303612-1. https://www.google.com/books/edition/NoSQL_Distilled/AyY1a6-k3PIC?gbpv=1&pg=PA20. Retrieved 16 July 2026.
- ↑ 4.0 4.1 4.2 4.3 4.4 4.5 Kale, Vivek (25 November 2016) (in en). Big Data Computing: A Guide for Business and Technology Managers. CRC Press. pp. 256-261. ISBN 978-1-4987-1534-8. https://www.google.com/books/edition/Big_Data_Computing/-msNDgAAQBAJ?gbpv=1&pg=PA256. Retrieved 16 July 2026.
- ↑ DB-Engines Ranking of Wide Column Stores .
