Row Storage
Row storage is the
conventional technique that is used in earlier databases to store the data in
the tabular form. In row storage, data is inserted in form of tuple. Each tuple
is nothing but a row which is unique identification of each record. There are
many advantages of row store but the main or important advantage is easy to add
or modify a record. So the systems where write back to database operation is
required in that case row store is easier than column store.
Advantages:
- Row Store tables have a primary index
- Row ID maps to primary key
- Secondary indexes can be created
- Recommended when the tables contain less volume of data.
- Used when the application request has to access the entire row.
Though HANA
is a hybrid database which uses both row as well as column store techniques, I
have given more emphasis on column store as the whole data modeling happens
under row store technique.
Column storage
A column oriented database (also
called as C-stores) stores the content column wise rather than by row. Though
this technique is totally opposite to the conventional database, it is very
useful in data compression, Storing data by column results in better
compression than the conventional row store. It also performs well while query
processing since queries read only the columns which are required.
Dictionary or
bitmap encoding are some of the row store encoding techniques which are also
used in column store.
Conventional databases i.e. row store
are good for write operations therefore database with row store architecture is
also called as write optimized system. This type of architecture is effective
especially in OLTP systems.
On the other hand, system which are
used for ad hoc querying with huge volume of data are read optimized, i.e.
analytical or data warehouse systems where data is mostly used for reporting
purpose. These systems represents read optimized in which bulk amount of data
load is performed with ad hoc queries. Other examples of read optimized
systems are CRM (Customer Relationship Management), Electronic Library catalogues
and other ad hoc inquiry systems. In such environments, a column store
architecture, in which the values for each single column are stored
contiguously, should be more efficient.
-
Column store databases stores a dictionary of every distinct value that occurs
in the column.
-
For each distinct value one needs to maintain a list that tells, for which row
a specific value occurs
-
When we want to get a row/record from these values we need to go through each
and every column and find the appropriate match. This is nothing but index
inversing.
Advantages of
column store:
- Improves read functionality significantly, also improves write functionality
- Highly compressed data
- No real files, virtual files
- Optimizer and Executer – Handles queries and execution plan
- Delta data for fast write
- Asynchronous delta merge
- Consistent view Manager
- Recommended when the tables contain huge volumes of data.
- Used when lot of aggregations need to be done on the tables.
- Supports parallel processing.
No comments:
Post a Comment