locked
Getknowledge() RRS feed

  • Question

  • How sync framework  pool the database for changes.

    I am using sync framework 2.1, sqlsyncprovider

    Every time in getknowledge() it checks all <table name>_tracking tables to prepare the knowledge of the database 

    or 

    first it checks high level metadata information by comparing scope_timestamp in scope_info table on two databases. If it finds the difference, then it will pool the tracking tables to prepare the changedataset ?

    what I suspect is in every sync cycle it is checking all tracking tables to identify any change happened. The others applications using the same database are having performance problems.

    Please clarify this!!!


    ess


    • Edited by saitrips Friday, March 15, 2013 1:20 PM
    Friday, March 15, 2013 1:19 PM

All replies

  • the sync knowledge is tracked per replica/copy, so it can't just rely on the scope_timestamp. 

    before a sync happens, the destination sends its knowledge to the source and the source uses the sync knowledge to select and figure out which changes to send.

    if you want to understand it better, have a look at the custom provider section in the documentation.

    sync framework is just like any other database applications, you should account for locking, concurrency, etc...


    • Edited by JuneT Friday, March 15, 2013 3:14 PM
    Friday, March 15, 2013 3:13 PM