Blogs

  • Browse Blogs
  • My Blog
  • My Updates

Tags Help

  • View as cloud  | list

Similar Entries

photo

Installing Notes 8 o...

Blog:  AnythingAroun...
Maurice Teeuwe
Updated 
No RatingsRatings 0     No CommentsComments 0
photo

8.5.1 UNFAIL - Part ...

Blog:  Erik Brooks
Erik Brooks
Updated 
RatingsRatings 2     No CommentsComments 0
photo

8.5.1 UN-FAIL! The F...

Blog:  Erik Brooks
Erik Brooks
Updated 
No RatingsRatings 0     CommentsComments 6
photo

Lotus Knows How To W...

Blog:  Beyond The Ye...
Peter Presnell
Updated 
No RatingsRatings 0     No CommentsComments 0
photo

8.5.1 FAIL. Your cod...

Blog:  Erik Brooks
Erik Brooks
Updated 
RatingsRatings 6     CommentsComments 29

Bookmarks

Better than Good Enough

Blog Authors:  Grant Lindsay  

Previous |  Main  | Next

Is CouchDB the New NSF?

Grant Lindsay  |    |  Tags:  couchdb notes nsf  |  Comments (2)

Consider a database technology in which:


  • The datastore is semi-structured, document-based, and not relational.
  • Documents are the primary unit of data and consist of any number of fields and attachments.
  • Each document is identified by a unique ID.
  • The databases can be distributed (i.e., replicated,) including support for partial replicas.
  • Replication includes bi-directional conflict detection and management.

Sounds like Notes, right? I thought so, too. But, I'm not talking about Notes. I'm describing CouchDB. I found the introduction and the technical overview to be quite interesting.


Here are some more similarities to Notes:


  • Servers host named databases, which store these documents.
  • Documents include metadata that’s maintained by the database system.
  • Document fields are uniquely named and contain values of varying types.
  • Documents are stored in a flat address space.
  • Databases can be compacted and are available during compaction.
  • The database has views (which are design documents that can replicate) for displying the semi-structured documents
  • Documents can be protected so that are only viewable by listed users, called "readers."

But, I'm not the only one. IBM is interested, too. In fact, they are paying its creator and all around Notes good guy, Damien Katz, to keep working on it.


Seen in this context, along with the similarities, CouchDB offers what appear to be "fixes" for some of Notes' shortcomings:


  • The CouchDB file layout and commitment system features all Atomic Consistent Isolated Durable (ACID) properties.
  • The database file is always in a consistent state.
  • Excepting the header area, consistency checks or fix-ups after a crash or a power failure are never necessary.
  • The views can be read and queried simultaneously while being also being refreshed.
  • Database readers are never locked out and never have to wait on writers or other readers.
  • Any number of clients can be reading documents without being locked out or interrupted by concurrent updates, even on the same document.
  • CouchDB provides a RESTful HTTP API for reading and updating (add, edit, delete) database documents.

<TotalSpeculation wild="true">


Since IBM has abandoned DB2 as an alternative Notes datastore and have committed to making NSF the best and only store for Notes data, I wonder if CouchDB—with its striking similarities to NSF and its tactical performance, stability, and scalability advantages—might not form the basis for a new NSF Subsystem. Can we say, "NSF-Next"?


</TotalSpeculation>


What do you think?

Updated: Based on a comment.

Comments

1 Vitor Pereira      Permalink "they paid Damien Katz to build it"

Just to be clear, Damien started building it and did it for a long time on his on dime.

2 Grant Lindsay      Permalink Hi Vitor,

Thanks for clarifying that. I should have said, "they are paying him to keep working on it."

I'll update the entry.


Previous |  Main  | Next
Skip to main content link. Accesskey S
IBM Lotus Connections Help Tools About

Tags

A tag is a keyword that is used to categorize an entry. To view the entries with a particular tag, click a tag name or enter a tag in the box.
The tag cloud indicates the frequency of tag use. Popular tags appear darkest. The slider control adjusts how many tags are displayed in the tag cloud.