cancel
Showing results for 
Search instead for 
Did you mean: 

Question about Mobilink best practice

former_member329524
Active Participant
0 Kudos

Hello,

I have the following data workflow:

Around 20 tables synchronize upload only.

7 tables synchronize download only.

2 tables have bidirectional sync.

I was wondering if it could be a good idea to create 3 schema models, instead of one.

This way, the upload, which is critical, could run independently of the download.

Please, tell me if this is a good practice.

Thank you

Arcady

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member329524
Active Participant
0 Kudos

And in addition to the above question:

Is it technically possible to to run multiple instances of dbmlsync on the same remote DB?

Because, the subscriptions deal with mutually exclusive data - one downloads set of tables from the consolidated DB, the other uploads a completely different set of tables, and the third synchronizes thrid set of tables.

Can it be done in parallel?

Former Member
0 Kudos

> Is it technically possible to to run multiple instances of dbmlsync on the same remote DB?


I done it with ASA version 8 (long time ago).  Each asa remote database synchronized with 5 ase consolidated database . But it was difficult to check that each synchronization was successfull for consider that the GLOBAL synchronization was successfull. But i didn't run the 5 synchronizations in parallel.


Consider that :

- it's possible in the same synchronization to synchronize one table (or more) by only download sync,  one table (or more) with only upload sync and one table (or more) with upload+download sync.

- Filter download result set with the synchronization user name (different for each remote database) directly or with a join. And more, you can modify download script to add another additional filter  if necessary. 

- Before try the //, measure the time of your 3 synchronizations.

Keep small and simple: with your 29 tables only 1 mobilink schema model and use filter data on download data.


jeff_albion
Employee
Employee
0 Kudos

Hi Arcady,

No, you cannot run multiple instances of dbmlsync against the same SQL Anywhere database concurrently. If you try this, you will see the error:


SQL statement failed: (-782) Cannot register 'sybase.asa.dbmlsync' since another exclusive instance is running

dbmlsync client accesses must be serialized against the same database.

----


I was wondering if it could be a good idea to create 3 schema models, instead of one.

This way, the upload, which is critical, could run independently of the download.

See: DocCommentXchange - Upload-only and download-only synchronizations

It's up to you and what you really prefer to manage - you can do all of the work in one model (and create synchronization scripts that do the "right" work), or you can create three separate models and synchronize them separately. If you're "more concerned" (i.e. want to synchronize more often) about the upload-only tables then you can create a separate model and use dbmlsync -uo or the UploadOnly (uo) extended option for that specific model.

---

A reminder that if you do end up splitting your one model into multiple models, all of the models have to be kept in synchronization with the MobiLink synchronization server in order for dbmlsync to advance the remote database transaction log truncation offset.

(i.e. in order for delete_old_logs to continue to work and removing offline logs, all of the logs must be synchronized for all synchronziation subscriptions).

Regards,

Jeff Albion

SAP Active Global Support

former_member329524
Active Participant
0 Kudos

Thank you, Jeff

I was wondering if different subscriptions can write into different log files on the client?