NoSQL Benchmarks NoSQL use cases NoSQL Videos NoSQL Hybrid Solutions NoSQL Presentations Big Data Hadoop MapReduce Pig Hive Flume Oozie Sqoop HDFS ZooKeeper Cascading Cascalog BigTable Cassandra HBase Hypertable Couchbase CouchDB MongoDB OrientDB RavenDB Jackrabbit Terrastore Amazon DynamoDB Redis Riak Project Voldemort Tokyo Cabinet Kyoto Cabinet memcached Amazon SimpleDB Datomic MemcacheDB M/DB GT.M Amazon Dynamo Dynomite Mnesia Yahoo! PNUTS/Sherpa Neo4j InfoGrid Sones GraphDB InfiniteGraph AllegroGraph MarkLogic Clustrix CouchDB Case Studies MongoDB Case Studies NoSQL at Adobe NoSQL at Facebook NoSQL at Twitter



gtm: All content tagged as gtm in NoSQL databases and polyglot persistence

NoSQL Protocols Are Important

The more mature the NoSQL solutions grow the more they realize the importance of the protocols they are using. And more and more NoSQL projects try not to repeat the LDAP protocol history.

I’d say that the flagship NoSQL projects that understood the benefits of the protocol simplicity are CouchDB, the relaxed document database and SimpleDB, Amazon’s key-value store, both of them looking like being built on the web and for the web (note: as one of the MyNoSQL readers correctly pointed out, the SimpleDB HTTP use is quite incorrect though). But they are definitely not the only one.

Riak, the decentralized key-value store, is also using JSON over HTTP. Not only that but the Basho team, producers of Riak, have decided lately to completely drop their custom protocol ☞ Jiak.

Terrastore, the consistent, partitioned and elastic document database, being quite young, made its homework and debuted as HTTP/JSON friendly.

Neo4j, the graph database, has added recently a RESTful interface, which even if not available in the Neo4j 1.0 release is making it accessible for a new range of programming languages.

There are some NoSQL solutions that are still using custom protocols. Redis has defined its own protocol, but made sure to keep it “easy to parse by a computer and easy to parse by a human”. Redis also got some help from 3rd party tools/libraries to make it even more accessible through HTTP/JSON: RedBottle, a REST app for Redis and Sikwamic, a Redis over HTTP library.

GT.M, a NoSQL solution about which you can learn more from the Introduction to GT.M and M/DB or these two talks at FOSDEM: GT.M and OpenStreetMap and MDB and MDBX: Open Source SimpleDB Projects based on GTM, has also realized the importance of the protocol and is now introducing ☞ M/Wire, which was inspired by the simplicity of Redis protocol.

MongoDB is another example of a NoSQL storage that uses a custom wire protocol. While the MongoDB ecosystem already includes a lot of libraries, I’d really love to see Kristina’s ☞ Sleepy.Mongoose moving forward (nb: Krsitina, I’m also pretty sure that Sleepy.Mongoose can get much nicer RESTful URIs too ;-) ).

And the story can go on and on, but the lesson to be learned should be quite obvious: the simpler and the easier your protocol is the more accessible your data will be and the easier it will be for the community to come up with (innovative) projects and libraries. The NoSQL libraries page should give you a feeling of what NoSQL solutions are using simple protocols and which are not.

Update: I received a hint from Mathias Meyer (@roidrage) that BSON, the binary JSON serialization used by MongoDB, has a new ☞ home

Your Chance to Review the FOSDEM NoSQL Event

If you haven’t been able to make it to Brussels last week for the FOSDEM NoSQL devroom, you’ll probably be happy to hear that thanks to the organizers ☞ Outerthought and ☞ you’ll still have the chance to watch all of the FOSDEM NoSQL devroom sessions.

The agenda included the following presentations:

I will be adding slides and videos as they arrive.


Tim Anglade: NoSQL for Fun & profit

Kristina Chodorow: Introduction to MongoDB

Lars George: My life with HBase

Eric Evans: The Cassandra distributed database

Benoit Chesneau: CouchDB, a database designed for the web and more

Rob Tweed: MDB and MDBX: Open Source SimpleDB Projects based on GTM

George James: GT.M and OpenStreetMap

Stéphane Combaudon: Comparing the MapReduce in CouchDB with the SQL way in a RDBMS

Evert Arckens: Designing a scalable content management system on NoSQL technologies

You can read more about the event on these posts:

and check these ☞ awesome pictures from the event.

NoSQL panel for OSCON 2010 Taking Shape

It looks like OSCON 2010 will host an extremely interesting NoSQL panel whose guests will be:

Now if only I can make it there or, even better, to be a moderator of the panel.


Introducing GT.M and M/DB

It’s always good to hear about NoSQL projects I’ve missed from the first versions of MyNoSQL. Now it is the case of ☞ GT.M, but thanks to Rob Tweed, starting today, MyNoSQL will also track GT.M and M/DB.

In case you, like me, are wondering what GT.M is, a good start would be the presentation ☞ “GT.M: A Tried and Tested Open-Source NoSQL Database”, from which I have found that GT.M, like kdb+ about which I’ve learned lately, has been in production for quite a long time (1986!).

The presentation is also introducing ☞ M/DB which is an open source emulation of Amazon SimpleDB that was built on top of GT.M

According to Rob:

It’s in fact a good example of something that has been discussed in the last couple of days in the NoSQL Google Group: namely where a schemaless key/value database (in this case GT.M) can be used as the raw pallette on which another database view (in this case the SimpleDB APIs and database behaviour) can be modelled.

It turns out that the SimpleDB behaviour can be very simply modelled on top of GT.M: in fact the first version from concept to production roll-out just took me a week: it was that close a fit!

If you look at ☞ GT.M for the Python Programmer doc (page 14) you’ll see a section “M/DB: GT.M in Action” that will perhaps provide some more insight on the connection between the two.

Update: It looks like Google has some problems returning good results for searches on GT.M and M/DB.