A wide-column store (or extensible record stores) 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]
Wide-column stores versus columnar databases
Wide-column stores such as Bigtable and Apache Cassandra are not column stores in the original sense of the term, since their two-level structures do not use a columnar data layout. In genuine column stores, a columnar data layout is adopted such that each column is stored separately on disk. Wide-column stores do often support the notion of column families that are stored separately. However, each such column family typically contains multiple columns that are used together, similar to traditional relational database tables. Within a given column family, all data is stored in a row-by-row fashion, such that the columns for a given row are stored together, rather than each column being stored separately. Wide-column stores that support column families are also known as column family databases.
History
Google's Bigtable is one of the prototypical examples of a wide-column store.[2]
Notable wide-column stores
Notable wide-column stores [3] include:
- Amazon DynamoDB[4]
- Apache Accumulo
- Apache Cassandra
- Apache HBase
- DataStax Enterprise
- DataStax Luna
- DataStax Astra
- Azure Tables
- Bigtable
- Hypertable
- MapR-DB
- ScyllaDB
- Sqrrl
- ClickHouse
References
- ^ a b Wide Column Stores. DB-Engines Encyclopedia.
- ^ Chang, et al. (2006). Bigtable: A Distributed Storage System for Structured Data.
- ^ DB-Engines Ranking of Wide Column Stores.
- ^ AWS re:Invent 2018: Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401). Amazon Web Services. 2018-11-28. Retrieved 2019-12-22.