Skip to Content
author's profile photo
Former Member

How delta works in HANA

Hi All

Can anybody explain how the delta mechanism works in HANA,to be precise if there are any changes to the existing records how they are handled .How HANA classifies the current information and past information.

Thanks for your inputs.

Santosh

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

6 Answers

  • Best Answer
    author's profile photo
    Former Member
    Mar 06, 2012 at 02:38 AM

    Hi Lars

    My question is not about loading the delta loading mechanism which is at the application level ,I am more concern about the database layer , once the data is loaded how the existing records will be modified if the same record was already there and some changes happened to the existing data, how it differentiates which one to consider

    Also whether it overwrites the existing data or it keeps both records with time factors to differntiate past and current information.

    Thanks

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Lars

      >

      > My question is not about loading the delta loading mechanism which is at the application level ,I am more concern about the database layer , once the data is loaded how the existing records will be modified if the same record was already there and some changes happened to the existing data, how it differentiates which one to consider

      >

      > Also whether it overwrites the existing data or it keeps both records with time factors to differntiate past and current information.

      >

      > Thanks

      Hello Santosh,

      in the column store all modifications of data are written to the delta log of the table first.

      If rows from the main storage (called "main index") have been changed or deleted, then these main index entries are made invisible to other transactions (the multiversion concurrency does this visibility handling of data) and the data from the delta log is used thereof.

      Once the delta and main indexes get merged, the old main index entry will be removed and only the current version of the row will be present.

      This is out it works for common column tables.

      If you use "history"-tables, then the old versions of the rows are never actually removed but made (in-)visible depending on the timestamp from when these rows have been inserted first.

      This is as much as I can tell about this. For more information on this topic, please consider joining the HANA core development team 😉

      regards,

      Lars

  • Mar 03, 2012 at 08:27 PM

    Hello Santosh,

    HANA employs multi-version concurrency to manage data changes and to evaluate which records are valid to which transaction at any given time.

    Once there are entries in the delta log, it will always be considered during command execution.

    A more detailled explanation of the technical solution is not (yet) documented in a public way.

    regards,

    Lars

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Mar 04, 2012 at 04:32 AM

    Thanks Lars I came across merginig process while looking at the architecture ,do merging and multi-version concurrency have any relation ?

    Yes Manoj in BW we have adding mechanism incase of infocubes and overwrite & add incase of DSO, several other mechanisms which help us to handle delta changes.How Hana handles all the changes in data , Thanks for your inputs.

    Edited by: varada santosh on Mar 4, 2012 5:36 AM

    edited by me

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Dear Santosh,

      Handling Delta Mechanism and SCD0, SCD2 types ( SCD Slowly changing dimension ) Data service (BODS ) would be best solutions.

      Like BW

      Init load can be done from separate dataflow in BODS / Dataservices

      Delta load can be done from another dataflow in BODS / Dataservices

      Like cube or ods We can do same kind of functionality in BODS dataflow level.

      Regards,

      Manoj.

  • author's profile photo
    Former Member
    Mar 04, 2012 at 02:12 AM

    Dear Santosh,

    Are you looking for Init load and delta load example like BW data load ? If yes please let me know.

    Regards,

    Manoj

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Mar 05, 2012 at 01:03 AM

    Hi Manoj

    Thanks for your quick response ,but what I am looking at it is at the core of HANA , how the changes are handled, like in BW the before ,after ,reverse image ,0recordmode etc forms the base for delta process.what is the technique in HANA to handle changes in data whether it overwrites ,add it and how it manages time dependency.

    Add comment
    10|10000 characters needed characters exceeded

    • Hi there,

      I think we're cross-talking here.

      When I wrote my reply I thought this thread was about the so called delta index mechanism that is used to care about data changes to column store tables.

      This is pretty unique to HANA and not employed by any other DBMS supported by SAP.

      If the question here was about the delta loading mechanisms implemented on SAP BW application level, then this is a completely different piece of cake...

      regards,

      Lars

  • author's profile photo
    Former Member
    Mar 07, 2012 at 05:23 PM

    Hi Lars

    Thanks a lot for sharing your wisdom around this topic

    I wish I was part of HANA Core development team 😊 ,but I never Knew how to go about it.

    Thanks Once again Lars

    Add comment
    10|10000 characters needed characters exceeded