As a side-project and to learn a bit about creating RESTful APIs, I was thinking of writing a flashcard app since none of the existing ones suit my needs. The data would be fairly simple. Word, definition, right or wrong for every time seen, and how well the person knew the answer for each try (maybe scale of 1-5).
My goal would be to create this API so that either a mobile app or a website could use it.
How or how not would a nosql database fit as the backend? Why use something like CouchDB/MongoDB vs, say MYSQL for this specific type of app? This is my limited understanding:
- nosql tends to be schemaeless, or at least easier to change on the fly
- nosql is more flexible with the cost of data integrity and the relative unproven technology vs relational DBs.
- nosql plays nicely with object oriented paradigms
- CouchDB offers good built in resources for something like a mobile app where data needs to be stored locally when there's no internet connection
In this thread people suggest simply using a SQL db: Would a NoSQL solution be relevant for a real-time mobile game?. I'd like to use this opportunity to learn about nosql, but I also want to use the right tool for the job.