DBMS | Row oriented vs. column oriented data stores

A data store is basically a place for storing collections of data, such as a database, a file system or a directory. In Database system they can be stored in to ways these are as follows:

  1. Row Oriented Data Stores
  2. Column-Oriented Data Stores

Comparisons between Row oriented data stores and Column oriented data stores are as following:

Row oriented data stores Column oriented data stores
Data is stored and retrieved one row at a time and hence could read unnecessary data if some of the data in a row are required. In this type of data stores, data are stored and retrieve in columns and hence it can only able to read only the relevant data if required.
Records in Row Oriented Data stores are easy to read and write. In this type of data stores, read and write operations are slower as compared to row-oriented.
Row-oriented data stores are best suited for online transaction system. Column-oriented stores are best suited for online analytical processing.
These are not efficient in performing operations applicable to the entire datasets and hence aggregation in row-oriented is an expensive job or operations. These are efficient in performing operations applicable to the entire dataset and hence enables aggregation over many rows and columns.
Typical compression mechanisms which provide less efficient result than what we achieve from column-oriented data stores. These type of data stores basically permits high compression rates due to little distinct or unique values in columns.

Best Example of Row-oriented data stores is Relational Database, which is a structured data storage and also a sophisticated query engine. It incurs a big penalty to improve performance as the data size increases.

The best example of a Column-Oriented datastores is HBase Database, which is basically designed from the ground up to provide scalability and partitioning to enable efficient data structure serialization, storage, and retrieval.

Features of Relational Database and HBase are as following:

Relational Database HBase
It is basically based on a Fixed Schema. It is totally Schema-less.
It is an example of row-oriented datastore. It is an example of column-oriented datastores.
It is basically designed to store normalized data. It is basically designed to store de-normalized data.
It basically contains thin tables. It basically contains wide and sparsely oriented populated tables.
It has no built-in support for partitioning. It basically supports Automatic Partitioning.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.