CouchDB tutorial

Features of CouchDB

The unique yet attractive features of CouchDB are listed below:

 

Document Storage:

  • CouchDB is a NoSQL database.
  • Follows document storage.
  • Documents are the primary unit of data without any set limit to text size or element count.

Browser-Based GUI:

  • The interface Futon facilitates a browser-based GUI.
  • The GUI handles data, permission and configuration.

Replication:

  • Supports master-master replication with custom conflict resolution functions.

ACID Properties:

  • Supports all the features of ACID properties.
  • Overwriting of data is not possible after it entered into the disc. Document updates support Atomicity.
  • The updates will either be saved completely or will not be saved at all.
  • All the update are mostly serialized.
  • Any number of clients can read a document without waiting and without being interrupted.

JSONP for Free:

  • The database becomes the accessible cross-domain for the GET requests when the config is updated to allow_jsonp = true.

Authentication and Session Support:

  • Authentication can be kept open via a session cookie-like web application.

Security:

  • Database-level security.
  • Separated permissions per database for readers and admins.
  • Both reading and writing to the database are supported, for the reader.

Validation:

  • Validation of the inserted data to ensure that the creator of the document is the one who is logged in can be done by combining with authentication.

Map/Reduce List and Show:

  • Follows Map/Reduce query method.

 

CouchDB tutorial