I am creating a large scale project for a mobile device. Some of the data is user specific and some is not. I do not want to go into my app in detail but users own certain things, and there is also a ton of data about different items and such that may or may not be relevant to a particular user.
What is the best way to store this? Storing it all locally seems impossibly, as there will just be too much data. So I was going to do it as a web database that the application accesses. The issue though is that I want the user to have access to their data even when they have no connection. Should I create separate local tables. Is there a way to cache the web results or somehow maintain the last results that were received.
I apologize if this seems vague, but I have no idea how to approach this. Thank you for your time.
Yes, you definitively want to cache or prefetch relevant portion of data on each user’s device if you want to make it accessible offline.
The server side database choice does not have any universal best solution, since it depends on lots of factors. Especially the rate of data changes, read/write operations ratio, does data has to be retrieved/paginated in time-series way and many many more. Probably you are looking for some NoSQL solution that easily scales horizontally, like Cassandra or Riak.