Skip to Content

Generation of SIDs during ODS-activation

Hi experts,

I'm not clear about the sense of SID-generation during the activation-process for ODS-data.

The ODS-tables do not contain any SIDs - so obviously the SID-generation is not important for the ODS-object itself.

I could imagine that in this case SID-generation means: "Check if there's already a SID for a particular value of an InfoObject - and if not, create a new entry in the InfoObject's SID-table."

Is that correct? Did I get that right?

That would mean: If I am sure that every value loaded to the ODS already has an existing SID-table entry, then there would not be any advantage from generating SIDs during the ODS-activation-process; it would only cost time. And using the ODS-object for reporting would not make any difference.

Could you comment and/or confirm that please?

Btw: Why does activation take much more time than loading the data to the "new data"-queue? Even when SID-generation is deactivated...!?

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

2 Answers

  • Best Answer
    Sep 21, 2010 at 03:37 PM

    Hi Marco,

    You are right! That's the way the SID generation happens.

    Even though ODSs are not good for building queries on it, they are very fast when loading data into them. You may as well already generate the SIDs and make the next steps in your dataflow faster.

    The activation take longer because it is dealing with 2 tables and not only inserting records in them, but also updating them.

    When you load data into the New Data table, it doesn't contain any record (or only contains a few). Therefore, the insertion is pretty easy.

    When you activate the data from the New Data table, the correct history must be placed in the changelog, and for some of the records, 2-3 new records will be generated there. The changelog table is very bulky and the insertion of records will definitely be slower. The Active table surely contains more records than the New Data table, and some records there will need to be updated, others inserted. Besides that, the activated records will have to be deleted from the New Data table.

    For these reasons, the activation process is really more complicated then just inserting new records in the New Data Table, and should take more time, definitely.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Sep 21, 2010 at 03:41 PM

    The SID generation in the DSO is a "trade balance"...

    If you set it up to do it during activation, the activation takes longer but data in the DSO is inmediately available for reporting once it is done...

    If you don't set it up, SIDs are generated upon query execution, which results in a slower query reponse time...

    If you're not reporting from that particular DSO then you don't need to worry about it... But keep that in mind if you do... What's more important for you? Activation time or report performance?

    Add comment
    10|10000 characters needed characters exceeded