locked
Offline Application Modelling RRS feed

  • Question

  • What am I looking : Need suggestion on storage of offline data. Note , SQL Server or any full fledged DB Server is ruled out as we will the offline app deployed at 200+ systems at different location in either a laptop or desktop.

    Decision Considerations :

    1. Need to maintain certain data offline [ around 10000 line items ] till the project is over

    2. Will not be connected to internet always. May have a dongle with limited speed

    3. Sync between offline and online

    We considered 3 options

    1. SQL Express , 2. Binary Files and 3. MS Access

    I have concern on SQL Express due to memory usage limitation [ Restricted to 1 GB ]

    2. Binary Files could be cumber some.

    3. MS Access in one way looks good for me. But at the time patch deployement How am I going to acheive it.

    Require guidance

    Wednesday, June 4, 2014 4:29 AM

Answers

  • Hi Vijay, As far as your requirement concern, its better to go with SQL Express rather than Access. Access as database have other limitations to and also its does not support all RDBMS features. Also for sync you need to write your own provider in case of Access database. if it really seems the limitation of SQL Express version be a bottleneck, then consider other Open source BSD RDMS tools like MySQL, Raven DB and many more. Hope, this will clear your doubts.

    If this post answers your question, please click Mark As Answer. If this post is helpful please click Mark as Helpful.

    • Proposed as answer by Tejas T Monday, June 9, 2014 5:19 AM
    • Marked as answer by VijMan Monday, June 9, 2014 8:21 AM
    Monday, June 9, 2014 5:19 AM
  • Hi Vijay,

    There will not be an issue if you use SQL Express. The SqlSyncProvider in Sync Framework works with Sql server, Sql Express or Sql Azur even with  the upcoming Sql 2012 Local DB.

    Simply configure the connections strings to point to Sql Express for both local and remote provider and it should work.

    you can get more details in below link.

    http://msdn.microsoft.com/en-us/library/ff928700(v=sql.110).aspx

    Hope, this will help you out.


    If this post answers your question, please click Mark As Answer. If this post is helpful please click Mark as Helpful.

    • Marked as answer by VijMan Monday, June 9, 2014 10:42 AM
    Monday, June 9, 2014 9:04 AM

All replies

  • Hi,

    SQL Express may not be an issue. it has been increased the maximum database size in SQL Server 2008 R2 Express up to 10GB.

    Still the size is an issue, then you can think of other option. I suggest to go with MySQL or other open source DBMS system rather than Binary File or MS Access.

    For MySQL you get Database storage limit up to 2TB on Windows NTFS based systems which is sufficient for any large application.

    http://nickduncan.co.za/maximum-mysql-database-size/

    Hope, this will help you out. Feel free to contact in case of any query.


    If this post answers your question, please click Mark As Answer. If this post is helpful please click Mark as Helpful.

    • Proposed as answer by Tejas T Thursday, June 5, 2014 5:38 AM
    Wednesday, June 4, 2014 5:45 AM
  • Hi Teja

    I have concern on SQL Express due to memory usage limitation [ Restricted to 1 GB ]. 10 GB is storage size but i am looking at 1GB memory usage limitations.

    If I go for Access , Can i use sync framework for syncing offline / online applications

    Friday, June 6, 2014 10:25 AM
  • Yes, 1GB is memory usage limit for Buffer pool. However, there are many other memory pools in SQL Server like Lock Manager, linked servers, extended procedures to name etc.

    The fact that SQLExpress has IGB RAM limitation does not mean it will pull up 1 GB of data from your database /tables all at once for buffer, it simply means operations will not be boosted beyond that. Does not this fit into your application requirement ?

    For Access database, there is not any out of box provider available in Sync framework. so, you need to write your own custom provider.

    http://msdn.microsoft.com/en-us/library/dd937537%28SQL.105%29.aspx

    Hope, this will help you out. 


    If this post answers your question, please click Mark As Answer. If this post is helpful please click Mark as Helpful.

    Friday, June 6, 2014 10:51 AM
  • Thanks Teja for your support.

    1. I may have approx 20 Masters to Sync. But very little data may be there [ only new / modified records to be addressed ] - Will not happen daily

    2. End of the Day approx 2500 records to be synced on daily basis

    3. Another 1500 rows we may have to sync .

    "The fact that SQLExpress has IGB RAM limitation does not mean it will pull up 1 GB of data from your database /tables all at once for buffer, it simply means operations will not be boosted beyond that. "

    What you suggest ?

    Friday, June 6, 2014 12:04 PM
  • Hi Vijay, As far as your requirement concern, its better to go with SQL Express rather than Access. Access as database have other limitations to and also its does not support all RDBMS features. Also for sync you need to write your own provider in case of Access database. if it really seems the limitation of SQL Express version be a bottleneck, then consider other Open source BSD RDMS tools like MySQL, Raven DB and many more. Hope, this will clear your doubts.

    If this post answers your question, please click Mark As Answer. If this post is helpful please click Mark as Helpful.

    • Proposed as answer by Tejas T Monday, June 9, 2014 5:19 AM
    • Marked as answer by VijMan Monday, June 9, 2014 8:21 AM
    Monday, June 9, 2014 5:19 AM
  • Thanks Teja.

    I would like to use SQL Express. But for the below points , Will SQL Express help. Also SQLExpress is used , for sync I can take a look at MS Sync

    1. I may have approx 20 Masters to Sync. But very little data may be there [ only new / modified records to be addressed ] - Will not happen daily

    2. End of the Day approx 2500 records to be synced on daily basis

    3. Another 1500 rows we may have to sync

    Monday, June 9, 2014 8:22 AM
  • Hi Vijay,

    There will not be an issue if you use SQL Express. The SqlSyncProvider in Sync Framework works with Sql server, Sql Express or Sql Azur even with  the upcoming Sql 2012 Local DB.

    Simply configure the connections strings to point to Sql Express for both local and remote provider and it should work.

    you can get more details in below link.

    http://msdn.microsoft.com/en-us/library/ff928700(v=sql.110).aspx

    Hope, this will help you out.


    If this post answers your question, please click Mark As Answer. If this post is helpful please click Mark as Helpful.

    • Marked as answer by VijMan Monday, June 9, 2014 10:42 AM
    Monday, June 9, 2014 9:04 AM