Skip to Content
author's profile photo Former Member
Former Member

Unified Table Layer

Hello,

I got a question concerning the internal storage format for tables which where created as ROWSTORE.

In the article "Efficient Transaction Processing in SAP HANA Database - The End of a Column Store Myth" (http://dl.acm.org/citation.cfm?id=2213946&dl=ACM&coll=DL&CFID=196296593&CFTOKEN=28321555), the authors wrote about the "Unified Table Layer" which consists of the L1- and L2-Delta and the Main Store.

L1-Delta is row-oriented and optimized for WRITE operations. The L2- and the Main-Store are both column-oriented and especially the main-store is optimized for READ optimiziations (sorted dictionary index, compression and so on). Data is merged from L1 to main-store using L2 as an intermediate step in merging. Furthermore, the authors say, that the Unified Table Layer is used by all in-memory processing engines: Relational, Graph, Text, ...

My question is: If I explicitly declare a table as a ROWSTORE, how will it be represented inside SAP HANA?

Thanks for your answers!

Martin

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

2 Answers

  • Best Answer
    Posted on Jan 06, 2013 at 11:09 PM

    Hello Martin,

    the ACM paper you're referring to does not represent the current state of implementation in HANA.

    It doesn't even necessarily show how stuff will be done inside of HANA in the future.

    The paper is about getting a point about certain concepts of data handling.

    It's a research paper, not a technical documentation.

    Anyhow, to answer your question:

    If you specify a table to be stored in rowstore in any past or current release of SAP HANA then the table and its data will be internally stored as rows.

    There won't be a delta store, no main store, no compression and no dictionary.

    Just the data as rows.

    - Lars

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jan 08, 2013 at 11:28 AM

    This technical document contains some more details: [1]

    They write about Relational Stores in Row- or Column based format and an "Objects Graph Store". If I combine this information with some other research and technical articles I read, than the row store is in fact the P*TIME [2] in-memory row store and the column store is adapted from TREX [3].

    - Martin

    [1] http://www.saphana.com/docs/DOC-1507

    [2] http://dl.acm.org/citation.cfm?id=1316778

    [3] http://en.wikipedia.org/wiki/TREX_search_engine

    Add a comment
    10|10000 characters needed characters exceeded

    • Hi Martin,

      your conclusions are not too far from reality.

      But both row- and colunm store in HANA have been further developed a lot.

      Things like effective online delta merging, joining, etc. had been immensely improved.

      So, while the technological roots for sure are in P*Time, TREX and MaxDB, the actual current implementation is quite far away from those products nowadays.

      - Lars

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.