mirror of
				https://github.com/donnemartin/system-design-primer.git
				synced 2025-11-04 10:12:32 +03:00 
			
		
		
		
	Add Wide column store section
This commit is contained in:
		
							
								
								
									
										23
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								README.md
									
									
									
									
									
								
							@@ -1113,3 +1113,26 @@ Document stores provide high flexibility and are often used for working with occ
 | 
			
		||||
* [MongoDB architecture](https://www.mongodb.com/mongodb-architecture)
 | 
			
		||||
* [CouchDB architecture](https://blog.couchdb.org/2016/08/01/couchdb-2-0-architecture/)
 | 
			
		||||
* [Elasticsearch architecture](https://www.elastic.co/blog/found-elasticsearch-from-the-bottom-up)
 | 
			
		||||
 | 
			
		||||
#### Wide column store
 | 
			
		||||
 | 
			
		||||
<p align="center">
 | 
			
		||||
  <img src="http://i.imgur.com/n16iOGk.png">
 | 
			
		||||
  <br/>
 | 
			
		||||
  <i><a href=http://blog.grio.com/2015/11/sql-nosql-a-brief-history.html>Source: SQL & NoSQL, a brief history</a></i>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
> Abstraction: nested map `ColumnFamily<RowKey, Columns<ColKey, Value, Timestamp>>`
 | 
			
		||||
 | 
			
		||||
A wide column store's basic unit of data is a column (name/value pair).  A column can be grouped in column families (analogous to a SQL table).  Super column families further group column families.  You can access each column independently with a row key, and columns with the same row key form a row.  Each value contains a timestamp for versioning and for conflict resolution.
 | 
			
		||||
 | 
			
		||||
Google introduced [Bigtable](http://www.read.seas.harvard.edu/~kohler/class/cs239-w08/chang06bigtable.pdf) as the first wide column store, which influenced the open-source [HBase](https://www.mapr.com/blog/in-depth-look-hbase-architecture) often-used in the Hadoop ecosystem, and [Cassandra](http://docs.datastax.com/en/archived/cassandra/2.0/cassandra/architecture/architectureIntro_c.html) from Facebook.  Stores such as BigTable, HBase, and Cassandra maintain keys in lexicographic order, allowing efficient retrieval of selective key ranges.
 | 
			
		||||
 | 
			
		||||
Wide column stores offer high availability and high scalability.  They are often used for very large data sets.
 | 
			
		||||
 | 
			
		||||
##### Source(s) and further reading: wide column store
 | 
			
		||||
 | 
			
		||||
* [SQL & NoSQL, a brief history](http://blog.grio.com/2015/11/sql-nosql-a-brief-history.html)
 | 
			
		||||
* [Bigtable architecture](http://www.read.seas.harvard.edu/~kohler/class/cs239-w08/chang06bigtable.pdf)
 | 
			
		||||
* [HBase architecture](https://www.mapr.com/blog/in-depth-look-hbase-architecture)
 | 
			
		||||
* [Cassandra architecture](http://docs.datastax.com/en/archived/cassandra/2.0/cassandra/architecture/architectureIntro_c.html)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user