I am struggling with how to design the architecture of my app. I am building an app that uses google maps to help the user find a certain 'thing', let's say cafes, near their current location. There will be a database of cafes - let's say 40,000 of them.
Do you supply the populated database with the app when it's downloaded from the app store? Or do you pull the data down from somewhere of the first run of the app?
Also when updates to the data happen I am presuming I'd update the online database and set a flag - the app would check the 'isThereADatabaseUpdate' flag and if true would pull down updated records. After some research it seems a good technique for mobile data is to have a datetime column against every item for when it was update and to only get the user to download those items which have changed rather than the entire database.
My questions are -
- Have I got the general idea right?
- Where and in what format should I store my data? SQL database? CSV file? One my server? Cloud storage? What are the pluses and minuses of each option?
Thanks for any help, this feels like a big stumbling block for me right now with too many questions!