SAP HANA SLT Replication

Qs 1. What are the different types of replication techniques?

There are 3 types of replication techniques:
1. SAP Landscape Transformation (SLT)
2. SAP Business Objects Data Services (BODS)
3. SAP HANA Direct Extractor Connection (DXC)

Note: There is one more replication technique called Sybase replication. It was part of initial offering for HANA replication, but not positioned / supported anymore due to licensing issues and complexity and mostly because SLT provides the same features.

Qs 2. What is SLT?
The SAP Landscape Transformation (LT) Replication Server is the SAP technology that allows us to load and replicate data in real-time from SAP source systems and non-SAP source systems to an SAP HANA environment.

The SAP LT Replication Server uses a trigger-based replication approach to pass data from the source system to the target system.


Qs 3. What is the advantage of SLT replication?
Advantages:
  1. SAP LT uses trigger based approach. Trigger-based approach has no measureable performance impact in source system.
  2. It provides transformation and filtering capability.
  3. It allows real-time (and scheduled) data replication, replicating only relevant data into HANA from SAP and non-SAP source systems.
  4. It is fully integrated with HANA Studio.
  5. Replication from multiple source systems to one HANA system is allowed, also from one source system to multiple HANA systems.
Qs 4. Is it possible to use a replication for multiple sources and target SAP HANA systems?
Yes, the SAP LT Replication Server supports both 1:N replication and and N:1 replication.
  • Multiple source system can be connected to one SAP HANA system.
  • One source system can be connected to multiple SAP HANA systems. Limited to 1:4 only.



Qs 5. Is there any pre-requisite before creating the configuration and replication?
For SAP source systems:
  1. DMIS add-on must be installed in SLT replication server.
  2. An RFC connection between the SAP source system and the SAP LT Replication Server has to be established.
  3. User for RFC connection must have the role IUUC_REPL_REMOTE assigned.
  4. Do not use a DDIC user for RFC connection.
For non-SAP source systems:
  1. DMIS add-on is not required.
  2. A database user has to be created with appropriate authorizations in advance and establish the database connection by using transaction DBCO in the SAP LT Replication Server.
  3. Ensure the database-specific library components for the SAP 7.20 REL or EXT kernel are installed in the SAP LT Replication Server.
Qs 6. What is Configuration and Monitoring Dashboard?
It is an application that runs on SLT replication server to specify configuration information (such as source system, target system, and relevant connections) so that data can be replicated. 

It can also use it to monitor the replication status (transaction LTR). 

Status Yellow: It may occur due to triggers which are not yet created successfully. 

Status Red: It may occur if master job is aborted (manually in transaction SM37). 

Qs 7. What is advanced replication settings (transaction IUUC_REPL_CONT)?
The Advanced Settings (transaction IUUC_REPL_CONT) allows you to define and change various table settings for a configuration such as:
  • Partitioning and structure changes for target tables in HANA
  • Table-specific transformation and filter rules
  • Adjusting the number of jobs (and reading type) to accelerate the load/replication process
Qs 8. What is Latency?
It is the length of time to replicate data (a table entry) from the source system to the target system. 

Qs 9. What is logging table?
A table in the source system that records any changes to a table that is being replicated. This ensures that SLT replication server can replicate these changes to the target system. 

Qs 10. What are Transformation rules?
A rule specified in the Advanced Replication settings transaction for source tables such that data is transformed during the replication process. Example you can specify rule to
  • Convert fields
  • Fill empty fields
  • Skip records
Qs 11. What happens when you set-up a new configuration?
When a new configuration in the SAP LT Replication Server is created, the database connection is automatically created along with a schema GUID and Mass transfer id (MT_ID). 
A schema GUID ensures that configurations with the same schema name can be created. 
The Mass transfer ID is used in the naming of SLT jobs and the system can uniquely identify a schema. 
The mapping of mass transfer IDs and related schema are stored in the SLT control table DMC_MT_HEADER in the SAP LT Replication Server. 

Qs 12. What are the jobs involved in replication process?
Following jobs are involved in replication process:
  1. Master Job (IUUC_MONITOR_<MT_ID>)
  2. Master Controlling Job (IUUC_REPLIC_CNTR_<MT_ID>)
  3. Data Load Job (DTL_MT_DATA_LOAD_<MT_ID>_<2digits>)
  4. Migration Object Definition Job (IUUC_DEF_MIG_OBJ_<2digits>)
  5. Access Plan Calculation Job (ACC_PLAN_CALC_<MT_ID>_<2digits>)
Qs 13. What is the purpose of master job (IUUC_MONITOR_<MT_ID>)?
Every 5 seconds, the monitoring job checks in the SAP HANA system whether there are new tasks and, if so, triggers the master control jobs. It also deletes the processed entries (tasks) from table RS_ORDER and writes statistics entries into table RS_STATUS (in the relevant schema in the SAP HANA system). 

Qs 14. What is the purpose of master controller job (IUUC_REPLIC_CNTR_<MT_ID>)?
This job is scheduled on demand and is responsible for:
  • Creating database triggers and logging table in the source system
  • Creating synonyms
  • Writing new entries in admin tables in SLT server when a new table is loaded/replicated

Qs 15. What is the purpose of Data Load Job (DTL_MT_DATA_LOAD_<MT_ID>_<2digits>)?
This job should always be active. If the job does not complete successfully, the master controller job restarts it. 

This job is responsible for:
  • Loading data (load)
  • Replicating data (replication)
  • Changing status flag for entries in control tables in the SAP LT Replication Server
Qs 16. What is the purpose of Migration Object Definition Job (IUUC_DEF_MIG_OBJ_<2digits>)?
This job defines the migration object of a specific table (that you choose to load/replicate), which is the fundamental object for LT replication. The migration object definition should normally be quite fast for all tables. 

Qs 17. What is the purpose of Access Plan Calculation Job (ACC_PLAN_CALC_<MT_ID>_<2digits>)?
This job calculates the access plan of a specific table (that you choose to load/replicate), and the access plan is used for data load or replication. The access plan is also a fundamental object for the replication. For a normal sized table, access plan calculation should finish quite quickly (less than 1 minute) while large tables might take up to several hours to finish. 

Qs 18. What is the relation between the number of data transfer jobs in the configuration settings and the available BGD work processes?
Each job occupies 1 BGD work processes in SLT replication server. For each configuration, the parameter Data Transfer Jobs restricts the maximum number of data load job for each mass transfer ID (MT_ID). 

A mass transfer ID requires at least 4 background jobs to be available:
  • One master job
  • One master controller job
  • At least one data load job
  • One additional job either for migration/access plan calculation/to change configuration settings in “Configuration and Monitoring Dashboard”.
Qs 19. If you set the parameter “data transfer jobs” to 04 in a configuration “SCHEMA1”, a mass transfer ID 001 is assigned. Then what jobs should be in the system?
  • 1 Master job (IUUC_MONITOR_SCHEMA1)
  • 1 Master Controller job (IUUC_REPL_CNTR_001_0001)
  • At most 4 parallel jobs for MT_ID 001 (DTL_MT_DATA_LOAD_001_ 01/~02/~03/~04)
Qs 20. What happens after the SLT replication is over?
The SLT replication server creates 1 user, 4 roles, 2 stored procedures and 8 tables.
  • 1 User
  • 1 Privilege
  • 4 Roles
    • <REPLICATION SCHEMA>_DATA_PROV
    • <REPLICATION_SCHEMA>_POWER_USER
    • <REPLICATION_SCHEMA>_USER_ADMIN
    • <REPLICATION_SCHEMA>_SELECT
  • 2 Stored procedures
    • RS_GRANT_ACCESS
    • RS_REVOKE_ACCESS
  • 8 Tables
    • DD02L
    • DD02T
    • RS_LOG_FILES
    • RS_MESSAGES
    • RS_ORDER
    • RS_ORDER_EXT
    • RS_SCHEMA_MAP
    • RS_STATUS
Qs 21. What are the different replication scenarios?
Different replication scenarios are: 
Load, Replicate, Stop, Suspend and Resume.
Load:
Starts an initial load of replication data from the source system. The procedure is a one-time event. After it is completed, further changes to the source system database will not be replicated. 
For the initial load procedure, neither database triggers nor logging tables are created in the source system. Default settings use reading type 3 (DB_SETGET) with up to 3 background jobs in parallel to load tables in parallel or subsequently into the HANA system.

Replicate:
Combines an initial load procedure and the subsequent replication procedure (real time or scheduled). 
Before the initial load procedure will start, database trigger and related logging table are created for each table in the source system as well as in SLT replication server.

Stop:
Stops any current load or replication process of a table. 
The stop function will remove the database trigger and related logging tables completely. Only use this function if you do want to continue a selected table otherwise you must initially load the table again to ensure data consistency.

Suspend:
Pauses a table from a running replication. The database trigger will not be deleted from the source system. The recording of changes will continue and related information is stored in the related logging tables in the source system. 
If you suspend tables for a long time the size of logging tables may increase and adjust the table space if required.

Resume:
Restarts the application for a suspended table. The previous suspended replication will be resumed (no new initial load required).

Qs 22. What happens if the replication is suspended for a long period of time or system outage of SLT or HANA system?
The size of the logging tables increases. 

Qs 23. How to avoid unnecessary logging information from being stored?
Pause the replication by stopping the schema-related jobs. 

Qs 24. Will the table size in SAP HANA database and in the source system the same?
No. 
As HANA database supports compression, the table size in SAP HANA may be decreased. 

Qs 25. When to go for table partitioning?
If the table size in HANA database exceeds 2 billion records, split the table by using portioning features by using “Advanced replication settings” (transaction IUUC_REPL_CONT, tab page IUUC_REPL_TABSTG). 

Qs 26. Where do you define transformation rules?
By using “Advanced replication settings” (transaction IUUC_REPL_CONT, tab page IUUC ASS RULE MAP) 

Qs 27. Are there any special considerations if the source system is non-SAP system?
The concept of trigger-based replication is actually meant for SAP source systems. 
In case of non-SAP system, following points should be kept in mind:
  • There will be a database connection between non-SAP source and SLT system instead of RFC.
  • Source must have primary key
  • Tables DD02L, DD02T which contains metadata are just initially loaded but not replicated.
  • The read modules reside on SLT system.
  • Tables with database specific formats may need transformation rules before they are replicated.
  • Only SAP supported databases are supported as non-SAP source systems.
Qs 28. Does SLT for SAP HANA support data compression like SAP HANA database?
Yes, this is automatically covered by the RFC connection used for data replication from the SAP source system. 

Click here to go to Next Chapter. 1.4 SAP HANA Studio

No comments:

Post a Comment