3. Agenda
• CouchDB
• What is it?
• Couch DB on iOS
• Couch DB in the wild
• Demo
• ISIS App
• “Hello Couch” App
Monday, 23 September, 13
4. What is
• NoSQL database, document-based, JSON
{
"Subject": "I like Plankton",
"Author": "Rusty",
"PostedDate": "5/23/2006",
"Tags": ["plankton", "baseball", "decisions"],
"Body": "I decided today that I don't like baseball. I like plankton."
}
Monday, 23 September, 13
5. What is
• Key Features
• Schema Free
• Access document by key
• Views (~Index)
• Peer-based replication (syncing)
Monday, 23 September, 13
6. Peer-based replication
• CouchDB can be hosted on server and
client (i.e. iOS app)
• Each host can work offline
• Full database activity
• Come back online and sync!!
• Built in conflict detection
Monday, 23 September, 13
7. Couch DB on iOS
• A lightweight version of Couch DB for
mobile
• Small foot print, good performance
• Recently changed to “Couchbase Lite”
Monday, 23 September, 13
8. Touch DB: Benefits
• Works offline & sync when online
• Good for Data sync engine
• No Schema : Flexibility
• Fast query by “Key”
Monday, 23 September, 13
9. Touch DB: Challenges
• Slow “Advanced” queries & view building
on iOS
• Solution: Customize and use coredata
• (A bit) harder to keep logs of who’s made
changes
• Solution: In document logs
• New client sync from beginning
• Solution: Pre-built database
Monday, 23 September, 13
10. Couch DB in the wild
• Who uses it:
• Draw something
• (Part of) Linked In
• McGraw-Hill,Amadeus,Allrecipes.com ...
• Hosting services
• Cloudant (http://cloudant.com/)
• Iris Couch http://www.iriscouch.com/)
Monday, 23 September, 13