gtm: All content tagged as gtm in NoSQL databases and polyglot persistence
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.
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 ☞ Parleys.com you’ll still have the chance to watch all of the FOSDEM NoSQL devroom sessions.
The agenda included the following presentations:
- 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
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:
- ☞ NoSQL FOSDEM Impressions
- ☞ FOSDEM 2010: The Raise of the NoSQL initiative
- ☞ Back from FOSDEM: the NoSQL trend
and check these ☞ awesome pictures from the event.
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.