none
Metadata Cleanup clarification RRS feed

  • Question

  • Hi

    I have modified the WebSharingAppDemo-SqlProviderEndToEnd sample and have it synching 400K records fine using batching. I have several SQL Server express 2008 clients and a SQL Server 2008 server. Synchronisation is initiated on the clients. 

    The app i have is a reporting tool where users will regularly delete/insert large amounts of data. What i dont understand from the documentation is at what point i should be cleaning up the metadata on the clients and server.

    regards
    Eliot

     

    Monday, May 10, 2010 11:37 AM

Answers

  • Hi,

    If you don't plan to re-init your client endpoint frequently, you need to run metadata cleanup for both server and clients. Otherwise, clients will accumuate many old deleted records in the side table, and it will slow down your query.

    If some of your client only sync with server once per month, you need to set the metadata cleanup value to a bigger values. Also, you need to evaluate how many insert/delete will happen in 40 days in your sync community. If a large percent of your data will be changed during this duration, the sync to this client will contain many changes and take a long time. You may want to consider if it will be more efficient by re-initializing such kind of long-time offline clients and keeping metadata cleanup duration smaller.

     

    Thanks,
    Dong


    This posting is provided AS IS with no warranties, and confers no rights.
    • Marked as answer by EliotRayner Tuesday, May 11, 2010 2:40 PM
    Monday, May 10, 2010 7:28 PM
    Moderator

All replies

  • Hi,

    Metadata cleanup only removes the old deleted records from your tracking table. It will reduce the size of your tracking table if the data table have many deletes. In order to avoid sync out of date cases, you need to set the metadata cleanup frequency greater than the sync frequency. For example, if all your sync endpoints will sync with each other within 1 day, you should set the metadata cleanup value to at least 2 days. When any sync endpoints are out of date, you need to re-init the endpoint.

     

    Thanks,
    Dong


    This posting is provided AS IS with no warranties, and confers no rights.
    Monday, May 10, 2010 6:34 PM
    Moderator
  • Hi Dong

    Thanks for you reply. My endpoints could be syncing anything from once a day to once a month, would you therefore suggest a value of 40 days or perhaps more ? Should i be running metadata cleanup on both the server and the clients ?

    regards

    Eliot

    Monday, May 10, 2010 7:15 PM
  • Hi,

    If you don't plan to re-init your client endpoint frequently, you need to run metadata cleanup for both server and clients. Otherwise, clients will accumuate many old deleted records in the side table, and it will slow down your query.

    If some of your client only sync with server once per month, you need to set the metadata cleanup value to a bigger values. Also, you need to evaluate how many insert/delete will happen in 40 days in your sync community. If a large percent of your data will be changed during this duration, the sync to this client will contain many changes and take a long time. You may want to consider if it will be more efficient by re-initializing such kind of long-time offline clients and keeping metadata cleanup duration smaller.

     

    Thanks,
    Dong


    This posting is provided AS IS with no warranties, and confers no rights.
    • Marked as answer by EliotRayner Tuesday, May 11, 2010 2:40 PM
    Monday, May 10, 2010 7:28 PM
    Moderator