locked
Sync services for ADO.NET 2.0 - Question on reliability? RRS feed

  • Question

  • Hi,

    I have seen lots of posts regarding synchronization issues with large data. Are sync services are suitable for small amout of data only? If yes what is the maximum supported data size limit?

    Or is the batching approach supported by MS is recommended or used suceesfully in any of the live projects?
    • Moved by Max Wang_1983 Thursday, April 21, 2011 11:36 PM forum consolidation (From:SyncFx - Microsoft Sync Framework Database Providers [ReadOnly])
    Monday, August 31, 2009 7:10 PM

Answers

  • There is no limit to the amount of data you can synchronize and we typically recommend using batching to address resource contention issues that arise when attempting to synchronize a large amount of data.  Your bottleneck is more than likely going to be your client side database which is limited to 4 GB if you are using SQL Compact but this can be worked around by leveraging more than one client side database.  That said, resource contention and sync times will increase as the amount of data being synced decrease so you should certainly make every effort to filter that data downloaded to the client

     Regarding batching, you have two options:

    1.  Sync Services for ADO.NET v1 took a stab at batching although there were some drawbacks to this implementation around complexity, excessive chattiness and inability to throttle resource usage in all cases.  That being said, it works for some so if you are interested, please see the following link: http://msdn.microsoft.com/en-us/library/bb902828.aspx.

    2.  Sync Framework v2 CTP2 includes a more robust batching feature the decreases the complexity, decreases chattiness and is keyed off of memory usage instead of row count.  We plan to release these bits the 2nd half of this year so if you can wait, I would recommend going down this route.  Please see the following link for more details:  http://msdn.microsoft.com/en-us/library/dd918908(SQL.105).aspx

    We have customer that have used both of the techniques above in production and are happy with the results.

    Regards,

    Sean Kelley
    Program Manager
    Microsoft

     

     

     

     

     

     

     

    Tuesday, September 1, 2009 11:57 PM
    Moderator

All replies

  • There is no limit to the amount of data you can synchronize and we typically recommend using batching to address resource contention issues that arise when attempting to synchronize a large amount of data.  Your bottleneck is more than likely going to be your client side database which is limited to 4 GB if you are using SQL Compact but this can be worked around by leveraging more than one client side database.  That said, resource contention and sync times will increase as the amount of data being synced decrease so you should certainly make every effort to filter that data downloaded to the client

     Regarding batching, you have two options:

    1.  Sync Services for ADO.NET v1 took a stab at batching although there were some drawbacks to this implementation around complexity, excessive chattiness and inability to throttle resource usage in all cases.  That being said, it works for some so if you are interested, please see the following link: http://msdn.microsoft.com/en-us/library/bb902828.aspx.

    2.  Sync Framework v2 CTP2 includes a more robust batching feature the decreases the complexity, decreases chattiness and is keyed off of memory usage instead of row count.  We plan to release these bits the 2nd half of this year so if you can wait, I would recommend going down this route.  Please see the following link for more details:  http://msdn.microsoft.com/en-us/library/dd918908(SQL.105).aspx

    We have customer that have used both of the techniques above in production and are happy with the results.

    Regards,

    Sean Kelley
    Program Manager
    Microsoft

     

     

     

     

     

     

     

    Tuesday, September 1, 2009 11:57 PM
    Moderator
  • Thanks Sean, you mean  Sync Framework v1 in point number 1 right ? And not  the Sync Services for ADO.NET v1? Please confirm ?

    Wednesday, September 2, 2009 10:02 AM
  • It was introduced in Sync Services for ADO.NET v1 and also ships with Sync Framework v1.  We carried the old providers forward to subsequent releases so as not to break backwards compatibility.

    Regards,

    Sean

     

     

    Wednesday, September 2, 2009 7:58 PM
    Moderator