
I wouldn't use it
Let them get their regular product right first before moving into other markets. Couchbase as it is now is just too unstable, crashes, refuses connections, data loss, you name it!
Database startup Couchbase has developed what it believes is the first NoSQL database for mobile devices, but why would anyone want such a thing? The Couchbase Lite database was announced by the company on Friday as part of its "JSON Anywhere" strategy, which sees it also create a new data syncing service and a cloud test and …
"A doctor can have entire day or entire weeks of data right on the device," Yaseen says.
But why do you need a DB layer for that? How much data are we talking about? I've worked on systems where people worked remotely and they either used the file system as a DB (as in, each record was in a text file) or all the data was in an XML file and loaded into memory.
Yah no, that's a very 80-ish approach.
You SHOULD put your data into a database. That's what they are *for*.
Unless you want to reinvent the wheel. Backup, synchronization, access logic, indexing, typing, structure, portability etc. etc. etc.
> the file system as a DB (as in, each record was in a text file)
Ultimately, you have to develop all your management layer again and transactions are a no-no.
> or all the data was in an XML file and loaded into memory
Horrible solution at freshmen level.
Couch seem to be conveniently skipping over the fact that LevelDB has been available on iOS since 2011. It's a robust sorted key-value store which scales nicely and quite happily stores JSON data as values.
I've been giving it an intensive workout as part of the book I've been writing for Packt - "Getting Started with LevelDB", which uses OS/X and iOS examples. I started getting into LevelDB two years ago as a replacement for an ISAM backend. It offers the same dramatic performance but with more flexibility of content.
What about Caching?
Things like Facebook, Twitter, email, etc.. feeds can be easily stored within a database. Decent polling technologies have their part, but look at Google Maps. Without an internet connection it is nearly useless, being able to cache properly gives functionality all the time, which is why most Map applications store the Maps locally.
I'm surprised iOS and Andriod don't already offer a way to do this, something like a mini MongoDB or HSQLDB instance which has a user generated for each application so applications can see each others data. Without it every application must have it's own way of persisting data which must be placing hard work on the developer.
Than again I'm surprised there isn't a standard google supplied theming approach in andriod. so what do I know