With so many products with overlapping functionality, I know there are many ways to achieve what is required, but I'd like to start a discussion to help decide on the best solution. I don't want to miss any key considerations including roadmaps.
Background
- We are developing an application that is using the HANA as the database.
- Similar to most SAP products, multi-tenancy is application defined by using a tenant/client field on tables containing data for multiple clients/tenants.
- So far, the tenant key field is not called MANDT or CLIENT and is not in the first position of each table
- The data dictionary is maintained outside of HANA. Core Data Services is not used.
- This client does not have any netweaver instances
Requirement
- We need to be able to do a client/tenant copy. That is, copy all of the data from hundreds of tables where tenant_key = <tenant_code> to the respective tables in a different database.
- Ideally, we would also do transforms on fields with sensitive data along the way if we're copying from production.
- This needs to be configurable and repeatable between different databases.
Possible solutions
- SAP HANA Enterprise Information Management (EIM)
- SAP Landscape Transformation
- SAP BusinesObjects Data Services
- SAP Test Data Migration Server (TDMS)
So far it looks like Data Services is the best option because it offers better flexibility and management - specifically to choose the source and destination. HANA EIM doesn't have a central management repository like Data Services.
I think TDMS relies on RFC, so I'm pretty sure that's not even a contender for that reason alone.
Is SLT flexible enough?
OR, should the application-defined multi-tenancy approach be dropped entirely and we use HANA database containers for each client? This generally seems to be the new strategy and is well suited to hosted/cloud situation.
I really appreciate your thoughts. Thank you.