The purpose of this page is to clarify the understanding Write Optimized DSO.
The concept of Write Optimized DSO was introduced in BI-7.0. Write Optimized DSO unlike Standard DSO has only one relational table, i.e. Active Table and moreover there is no SID generated in Write Optimized DSO, and hence loading the data from Data Source to Write Optimized DSO takes less time and acquires less disk space.
Require Data storage for storing detailed level of data with immediate reporting or further update facility. No over write functionality required.
Limitation of Standard DSO
- A standard DSO allows you to store detailed level of information; however activation process is mandatory.
- Reporting or further update is not possible until activation is completed.
Write Optimized DSO - Properties
- Primarily designed for initial staging of source system data
- Business rules are only applied when the data is updated to additional InfoProviders.
- Stored in at most granular form
- Can be used for faster upload
- Records with the same key are not aggregated ,But inserted as new record, as every record has new technical key
- Data is available in active version immediately for further Processing
- There is no change log table and activation queue in it.
- Data is saved quickly.
- Data is stored in it at request level, same as in PSA table.
- Every record has a new technical key, only inserts.
- It allows parallel load, which saves time for data loading.
- It can be included in a Process Chain, and we do not need an activation step for it.
- It supports archiving.
Write-Optimized DSO - Semantic Keys
Semantic Key identifies error in incoming records or Duplicate records.
Semantic Keys protects Data Quality such that all subsequent Records with same key are written into error stack along with incorrect Data Records.
To process the error records or duplicate records, Semantic Group is defined in DTP.
Note: if we are sure there are no incoming duplicate or error records, Semantic Groups need not be defined.
Write Optimized DSO - Data Flow
1. Construct Data Flow model.
2. Create Data source
3. Create Transformation
4. Create Info Package
5. Create DTP
Write-Optimized - Settings
If we do not check the check box "Do not Check Uniqueness of Data", the data coming from source is checked for duplication; i.e. if the same record (semantic keys) already exist in the DSO, then the current load is terminated.
If we select the check box, duplicate records are loaded as a new record; there is no relevance of semantic keys in this case.
When Write Optimized DSO is Recommended?
- For faster data loads, DSOs can be configured to be Write optimized
- When the access to source system is for a small duration.
- It can be used as a first staging layer.
- In cases where delta in DataSource is not enabled, we first load data into Write Optimized DSO and then delta load can be done to Standard DSO.
- When we need to load large volume of data into Info Providers, then WO DSO helps in executing complex transformations.
- Write Optimized DSO can be used to fetch history at request level, instead of going to PSA archive.
- It contains only one table, i.e. active data table (DSO key: request ID, Packet No, and Record No)
- It does not have any change log table or activation queue.
- Every record in Write Optimized DSO has a new technical key, and delta in it works record wise.
- In Write Optimized DSO data is stored at request level like in PSA table.
- In Write Optimized DSO SID is not generated.
- In Write Optimized DSO Reporting is possible but it is not a good practice as it will effect the performance of DSO.
- In Write Optimized DSO BEx Reporting is switched off.
- Write Optimized DSO can be included in InfoSet or Multiprovider.
- Due to Write Optimized DSO performance is better during data load as there is no Activation step involved. The system generates a unique technical key
- The technical key in Write Optimized DSO consists of the Request GUID field (0REQUEST), the Data Package field (0DATAPAKID) and the Data Record Number field (0RECORD).
Points to Remember
- Generally Write Optimized DSO is not preferred for reporting, but If we want to use it for reporting then it is recommended to define a semantic in order to ensure the uniqueness of the data.
- Write-optimized DSOs can force a check of the semantic key for uniqueness when data is stored.
- If this option is active and if duplicate records are loaded with regard to semantic key, these are logged in the error stack of the Data Transfer Protocol (DTP) for further evaluation.
- If we need to use error stack in our flow then we need to define the semantic key in the DSO level.
- Semantic group definition is necessary to do parallel loads.
If we want to use write-optimized DataStore object in BEx queries (not preferred), it is recommended to:
1. have a semantic key and
2. ensure that the data is unique.
Here the Technical key is not visible for reporting, so it looks like any regular DSO
SAP Note 1077308 : In a write-optimized DSO, 0FISCVARNT is treated as a key, even though it is only a semantic key.
SAP Note 1007769 : Parallel updating in write-optimized DSO
SAP Note 966002 : Integration of write-opt DSO in DTP error stack
SAP Note 1054065 : Archiving supports.