Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are all modern RDBMS row oriented? Why? [closed]

If one of relational databases paradigms is to be tuple oriented we have the biggest limitation here.

If one could design column oriented db, that would improve performance a lot. Vector operations would perform out of the box, indexing, hashing for simple symbol columns lookups, linked lists behind the scenes as engine.

Memory mapping: dumps in huge chunks in microseconds as well as loading those disk images.
And still have use well understood and standard language (SQL) that multiple vendors support.
Imagine how many tools could be designed for interfacing that thing, because of its simplicity.
Wouldn't it be more robust (and KISS at the same time)?

UPDATE
Thanks to all contributors.
Question has been unjustly closed, though i've found your all answers very informative.

like image 876
bua Avatar asked Aug 17 '10 21:08

bua


People also ask

Is relational database row-oriented?

Best Example of Row-oriented data stores is Relational Database, which is a structured data storage and also a sophisticated query engine.

Is RDBMS column-oriented?

That said, online transaction processing (OLTP)-focused RDBMS systems are more row-oriented, while online analytical processing (OLAP)-focused systems are a balance of row-oriented and column-oriented.

What is row-oriented database?

In row-oriented databases, often called traditional databases, rows are stored in sequence. This means that rows immediately follow each another. All columns in a single row are stored together on the same page as long as the row size is smaller than the page size.

Why do column-oriented databases compress better than row-oriented?

Columnar-Compression: Column-oriented Storage is very favorable for compression. This is due to the fact that the number of distinct values in a column is a lot smaller than the number of rows in a table in addition to all the values having the same data type.


1 Answers

Are all modern RDBMS row oriented?

No. They're designed for specific tasks, say OLTP vs OLAP. Even the popular ones like MySQL have column-store engines (ex: Infobright). And there are DBMS's that are built as a column-oriented DB from the ground up as well.

Here's a potentially interesting read for you: C-Store: A Column-oriented DBMS (PDF format)

LucidDB is a popular column-oriented database for data warehousing and BI:

LucidDB is the first and only open-source RDBMS purpose-built entirely for data warehousing and business intelligence. It is based on architectural cornerstones such as column-store, bitmap indexing, hash join/aggregation, and page-level multiversioning. Most database systems (both proprietary and open-source) start life with a focus on transaction processing capabilities, then get analytical capabilities bolted on as an afterthought (if at all). By contrast, every component of LucidDB was designed with the requirements of flexible, high-performance data integration and sophisticated query processing in mind. Moreover, comprehensiveness within the focused scope of its architecture means simplicity for the user: no DBA required.

See its list of features for those that overlap with your interests here: LucidDB Features

And still have use well understood and standard language (SQL) that multiple vendors support.

You can use SQL with LucidDB.

like image 95
bakkal Avatar answered Nov 11 '22 00:11

bakkal