Finding the right NoSQL database

At work the other day I needed a simple database to store some JSON data.  I figured I'd use the opportunity to review the various NoSQL databases available and choose my favorite.  My needs were simple:

  1. Must support Windows and Linux
  2. Must have a cross-domain read/write RESTful API (preferably without complicated JSONP callbacks)
To save you the two days of searching it took me, I'll summarize my findings here:

  • MongoDB - no writeable REST interface
  • OrientDB - version 1.0 was released this week but was too buggy and the REST interface wasn't cross-domain
  • CouchDB - I couldn't find any mention of a RESTful API in their documentation
  • ArangoDB - alpha quality, not meant for production
  • Riak - doesn't support Windows
  • Cassandra - no REST interface
I was starting to lose hope when I remembered a friend mentioned ElasticSearch awhile ago so I figured I would try it out.  Voil√† - It worked great!  Its REST API fit well with jQuery AJAX and it supports both Windows and Linux.

I'll update this post soon with some code samples and instructions on how to install an excellent Dashboard GUI.

P.S. ElasticSearch isn't perfect.  As with anything, there's a few gotchas to be aware of.

0 comments:

Post a Comment

Keep it clean and professional...