A wide-column store is a type of NoSQL database, but also resembles a relational database. A wide column database consists of multiple tables, and each table has a key and a column family. The key is unique and used to identify individual rows in the table. Each column family is named, and can contain one or many column. The columns that belong to a column family can vary across rows, unlike how a relational database works.
Wide-column can also store multiple versions of each value, marked with a timestamp. Use this timestamp in a query to find older values, if needed. The most recent version is selected if no timestamp is provided.
Wide column databases require fast read and writes, so they save a new version with a timestamp, rather than updating a value. They also require high-volumes of data coming in.
Compared to other noSQL databases, wide-column databases have a
- complex data model - data is structured in multiple columns, grouped in column families.
Flexible schema – columns within each family are not fixed, but column families are fixed
Data access – in addition to just a key to access data, wide column databases also need table name, key, column family name, column name, and optional timestamp.
Similar to most common NoSQL databases, wide column databases also replicate data with eventual consistency, shard, and scale horizontally. Each shard contains sorted rows with a range of key values.
Popular wide column databases are
BigTable – The first ever wide column database, developed by Google
HBase – open source wide column database by Apache
Cassandra - open source wide column database by Apache. It’s similar to HBase but cannot make updates to replicas
Subscribe to Appficial for more programming videos coming soon. Also, don't forget to click LIKE and comment on the video if it helped you out!