A Different Kind of CouchDB Cheatsheet
Man, I really appreciate this sort of ☞ extensive notes someone takes while learning about a new system[1]. They are basically like cheatsheets or the “Learn NoSQL in 12 hours” books: they don’t turn you into an expert overnight, but they give you enough to wet your taste. And I’ll tell you my little secret: every time something sounds either too good or too bad, I go dig deeper just to make sure things are correct.
Matt Woodward’s post covers a ton of topics about CouchDB:
- general concepts & history
- why use CouchDB? (note I liked this section, but I’d take with a grain of salt everything about the simplicity of data modeling
- is the relational model dead? (note well, my advise would be to avoid getting into this sort of RDBMS vs NoSQL broken conversations
- more on “better fit for applications” (note an extensive form of CouchDB can change the architecture of your next web app
- relational model vs document-based aka “key/value store” databases[1]
- CouchDB pros and cons
- when should you consider CouchDB
- other document-based databases (note you should ignore this section as it’s basically incorrect, listing under this name a lot of other NoSQL projects that are not really document databases)
- building, installing, running, basic interactions with CouchDB
- creating, designing and versioning of documents
- how documents are not like database records
- queries (note: mapreduce, views, etc)
- replication (note: this is where CouchDB 0.11 improved a lot
- validation and security
- document attachments
As another example of such useful notes, check these notes from learning and running MongoDB in production.
References
- [1] The post is rather old, but I thought it’s definitely worth mentioning it. So make sure you check the new features added in CouchDB 0.11.0 (↩)
- [2] Document databases are a more advanced form of key-value stores as documents are less opaque to their underlying storage and so document databases may support non primary key lookups. (↩)