cancel
Showing results for 
Search instead for 
Did you mean: 

How delta works in HANA

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member

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

lbreddemann
Active Contributor
0 Kudos

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

Answers (5)

Answers (5)

Former Member
0 Kudos

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

Former Member
0 Kudos

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.

Former Member
0 Kudos

Dear Santosh,

HANA is just Database like Oracle or MSSQL, So with HANA alone can't do 0recordmode functionality like BW.

Regards,

Manoj

lbreddemann
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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

Former Member
0 Kudos

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.

Former Member
0 Kudos

Dear Santosh,

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

Regards,

Manoj

lbreddemann
Active Contributor
0 Kudos

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