Best way to store remote database locally for offline usage (without running mysql server locally)?



Good morning fellow friends of paleness.


Please help me find a good approach to solve the following problem:


What am I trying to do?


I would like to create a c# software that does the following two things:



  1. The first part is a database where the user can store contact information. Each set of data consists of around 10 fields, not more than a couple of hundred contacts will be stored, and less than twenty users will have access to the database.

  2. Secondly the user shall be able to select a subset of the data by applying filters. He then should be able to send personalized emails to the contacts in these subsets.


What are the constraints?



  • I would like to store the contact data mainly on a remote server that has mysql capability

  • However, when a user is offline, I want him to still be able to access the data, so a way to store the data locally is needed. Selecting subsets and saving email jobs for later execution shall be possible in offline mode

  • I do not want the user need to install or start any server locally when he uses the program

  • When the user goes online the local and the remote data will be synchronized


What is the problem?


The solution I came up with was to store the data locally either in an XML file or embed a database like sqlite in the program. But XML will not be a good choice for the "selecting a subset" feature and both approaches will need conversion to mysql I figured. I know the amount of data is not that big, so maybe either approach is fine. But maybe someone has a better idea altogether?


It would be great to hear your thoughts on how to store the data locally.


Cheers, Essi


No comments:

Post a Comment