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 two ways. These are as follows:
- Row Oriented Data Stores
- 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:
|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.|
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.