I’ve created client-server applications before where the database server is on one machine and the clients all connect remotely to that machine/server.
However, it’s occurred to me that applications with a lot of locally stored data (for example a music player with a library), must be using a local database server that installs and runs alongside the application.
So my questions are:
- Is it just a standard installation of mySQL/Postgres/whatever that is bundled with the application, or is there something specific that should be used when there’s only ever one local connection to the server?
- Are there easily locatable instructions out there for how to deploy the server software silently with your application?
My question is intended for the general case, but the application I’ll be developing will be in Matlab if that makes any difference.
I suggest using a non-service based database when storing data for local application use. I’m aware of SQLite, however I believe MS SQL Compat is similar.
If the files being stored are large (music files), it is probably more efficient to save the file on the disk and store the file path in the database. (See http://www.sqlite.org/intern-v-extern-blob.html)
You can use ODBC to communicate with databases in MATLAB. (See http://www.mathworks.com/help/toolbox/database/ug/database.html)