Lessons learned using CouchDB to build a rails 3 app as a synchronised back-end for an iOS app running an embedded version of CouchDB.
Steven Ringo | [email protected] | @stevenringoCouchDBLessons learned building a rails + iOS app
View Slide
Why CouchDB?
Online.Sometimes.
Push updates.
Multiple backends.
BLOBs.
No custom API.
Syncing is hard.
Universal datastore.
Migrations.
Availability of an mobile implementation.
SQL is not NoSQL
SQL != !SQL
SQL = SQL?WAT?
Forget everything you learned aboutSQL.
Everything.
EF Codd
Normalization is not normal.
MapReduce
Futon
MapReduce is scary.But not as scary as SQL (was)
ORMs
CouchCocoa for iOS
Everything persists.Everything.
couch_potato gem
couchrest gem
Bye-bye ActiveRecord.Hello ActiveModel
Do not use couchrest_model
Replication is trivial
imagine git in a database context.
MVCC.No locking.No mess.