Hi,
In our organization, we have several informix ids server (~30) and databases (~250) with the same schema on informix IDS server (version 14) all around our country. We would like to build some kind of Data Lake using informix ER and the pattern Primary-Target Replication System - Data Consolidation.
Here is a simplified example :
- Server IDS 1
o DataBase db1
Table customer
Column id (Primary Key)
Column name
…
Table adress
Column id (PK)
Column description
….
o DataBase db2
Table customer
Column id (Primary Key)
Column name
...
Table adress
Column id (PK)
Column description
….
- Server IDS 2
with db3 and db4 etc..
And the schema of our data lake :
- Server IDS idsLake
o Database dataLake
§ Table customer
· Column id (PK)
· Column dataBase (PK)
· Column name
· ….
§ Table Adress
· Column id (PK)
· Column dataBase (PK)
· Column description
· …..
For each table, the primary key is composed with ID and Database to hanble duplicated keys from the different database.
The command to replicate without filling the database column (executed in the Server IDS idsLake) is :
cdr define repl -M g_er -c g_er -C always repl _ind -S row -k ID -f y -D y -T "P db1@ids1:informix.customer" "select name, description from customer" "R dataLake@idsLake:informix.customer" "select name, description from customer";
To fill the column, I hoped i could do something like this
cdr define repl -M g_er -c g_er -C always repl _ind -S row -k ID -f y -D y -T "P db1@ids1:informix.customer" "select name, description from customer" "R dataLake@idsLake:informix.customer" "select name, description, 'ids1' as database from customer";
But it does not work.
Question : how can i know the replication source to fill the column database ?
PS : I know I can handle the database origin with asynchronous post trigger with jsonspl routine but i prefer to avoid it for this use case (because I have to code the replication et manage it by myself)
Thanks by advance
------------------------------
thibaut vandewalle
------------------------------