Hi everyone, we are here to continue with the blog. Today, i´m going to explain the analytical database concept.
I searched in internet the best definition, and i liked this one:
"An analytic database is designed to support Business Intelligence, usually as part of a Data Warehouse or Data Mart. This differentiates it from an operational, transactional or OLTP DataBase, which is used for transaction processing. Databases that do transaction processing can also be used to support data warehouses and BI applications, but analytic DataBase vendors claim that their products offer performance and scalability advantages over conventional relational DataBase software. "
I worked with this two types of analytical databases:
· Columnar Database: is a database management system (DBMS) that stores data tables as sections of columns of data rather than as rows of data. In comparison, most relational DBMSs store data in rows. More.
My experience was with HP Vertica. I use it in my actual work and is a fantastical database.
· In-memory databases: is a database management system that primarily relies on main memory for computer data storage. More.
My experience was with VoltDB. Its a perfect database for concurrent operations or to show lists.
The main benefits of analytical DataBases are related with their column-oriented structure:
· Column-oriented organizations are more efficient when an aggregate needs to be computed over many rows but only for a notably smaller subset of all columns of data, because reading that smaller subset of data can be faster than reading all data.
· Column-oriented organizations are more efficient when new values of a column are supplied for all rows at once, because that column data can be written efficiently and replace old column data without touching any other columns for the rows.
Row-oriented organizations are more efficient when many columns of a single row are required at the same time, and when row-size is relatively small, as the entire row can be retrieved with a single disk seek.
· Row-oriented organizations are more efficient when writing a new row if all of the row data is supplied at the same time, as the entire row can be written with a single disk seek.
You can find more in the next link: https://en.wikipedia.org/wiki/Column-oriented_DBMS
That's it for today, but be sure to tune in tomorrow for data things! :)
Image source: http://virtualgaia.blogspot.com.es/