This article is more than 1 year old
IBM blesses NoSQL upstart MongoDB
Big Blue pulls MongoDB JSON-querying into DB2, WebSphere
IBM developers can now write apps using MongoDB's query language to interact with data stored in DB2 and WebSphere, and vice versa, giving IBM's tech greater use and relevance in an age dominated by cheap or free solutions.
IBM will preview support of MongoDB's JSON-oriented query method in DB2 and Websphere Extreme Scale within one month, Big Blue told The Register on Wednesday.
"We've implemented the MongoDB wire protocol as a gateway in front of DB2 and Extreme Scale, which in effect allows an application using the MongoDB API to work verbatim against DB2 and Extremescale" said IBM fellow Jerry Cuomo. "You don't have to rip and replace your DB2 database."
The decision to support the MongoDB's way of dealing with JSON data will likely help make this approach a standard and increase the popularity of the open source technology. Similar things happened to Linux and (more recently) OpenStack after IBM supported the tech.
MongoDB is far and away the most popular NoSQL database according to DB-Engines. However, it is still small compared to the traditional SQL world, and is the 7th most popular overall according to the DB-Engines Ranking, compared with DB2 in 5th place. Oracle and MySQL are the dominant databases by these rankings, and their adoption is much, much greater than any of the others.
IBM's decision to implement support for the tech at low levels of its own gear is a way of giving relevance to both technologies, and to try and ensure DB2 companies don't have to rip and replace their tech to get a handle on future data types.
"There is a vast amount of data in IBM data stores and we'd like to liberate that data to modern application environments," Cuomo said. "We want to be able to expose that data in a modern term, we want to be able to expose that data in simple JSON documents, and if we do that it's kind of magical. We didn't want to do that by having all the DBAs in the world rip and replace their database."
It will also likely lead to cross-pollination between the relational DB2 and the non-relational document store MongoDB communities, and could help MongoDB maintain its sizeable share of the (still small) NosQL database market.
"IBM is going to be supporting our query language as a way to query JSON documents in DB2 and some of their other products," MongoDB-steward 10gen's chief Max Schireson, told The Register. "What that will do is developers will know that if they write code to that syntax there'll have multiple options for where that code can run."
MongoDB stores JSON-like documents in BSON – a binary-encoded serialization of JSON docs. BSON docs tend to be slightly larger than JSON ones because of the addition of length prefixes, but this increases traversability – important, given that MongoDB deployments are typically very large-scale.
JSON has become a popular way of storing data on the web, due to the ease with which developers can fiddle with it in Javascript. "Unlike adaptations of SQL [MongoDB is] designed for this datatype from the beginning," Schireson says.
"Our experience with relational databases has played a strong role in the development of MongoDB. The goal has always been to create a general purpose database that can be applied to a broad set of applications. At the same time we are developers ourselves, and we focused on building a system that is very intuitive and natural for programmers, and so the query language looks more like what you would expect as a programmer."
This attention to the needs of programmers, rather than DBAs, has led to MongoDB becoming a trendy data platform in use at a number of modern web startups. However, interacting with JSON documents as opposed to SQL can be disorientating, and some users believe JSON queries are by nature more "ugly" than SQL ones.
IBM hopes to broaden the API and is already working on open source code for security, extended transaction support, and extended join support, among others.
"There's a few areas that we believe we can add more value," Cuomo said.
IBM's adoption of MongoDB is a significant move for both companies, we think, as it gives IBM devs a way of building apps with DB2 data without the need for a typically pricy middleware layer, and means NoSQL devs within large organizations can perhaps be put to work on fiddling with legacy data.
Given the explosion in the number of companies touting NoSQL solutions and inevitable consolidation in the future, 10Gen needs to keep its tech relevant.
By making MongoDB into both a platform via additional services like incremental restores, and an industry standard via schemes like the IBM tie-in, we reckon it is on the right track toward assuring its persistence and eventual consistence with the rest of the tech industry. ®