Skip the navigation

No to SQL? Anti-database movement gains steam

By Eric Lai
July 1, 2009 09:16 PM ET
They run on clusters of cheap PC servers. PC clusters can be easily and cheaply expanded without the complexity and cost of "sharding," which involves cutting up databases into multiple tables to run on large clusters or grids.

Google has said that one of BigTable's bigger clusters manages as much as 6 petabytes of data across thousands of servers.

"Oracle would tell you that with the right degree of hardware and the right configuration of Oracle RAC (Real Application Clusters) and other associated magic software, you can achieve the same scalability. But at what cost?" asks Javier Soltero, CTO of SpringSource.

They beat performance bottlenecks. By sidestepping the time-consuming toil of translating Web or Java apps and data into a SQL-friendly format, NoSQL architectures perform much faster, say proponents.

"SQL is an awkward fit for procedural code, and almost all code is procedural," said Curt Monash, an independent database analyst and blogger. For data upon which users expect to do heavy, repeated manipulations, the cost of mapping data into SQL is "well worth paying ... But when your database structure is very, very simple, SQL may not seem that beneficial."

Raffaele Sena, a senior computer scientist at Adobe Systems Inc., said that when Adobe relaunched its ConnectNow Web collaboration service a year and a half ago, it decided against using a relational database for just the reason raised by Monash.

Adobe uses Java clustering software from Terracotta Inc. to manage data in Java formats, which Sena says is key to boosting ConnectNow's performance two to three times over the prior version.

"The system would have been more complex and harder to develop using a relational database," he said.

Another project, MongoDB, calls itself a "document-oriented" database because of its native storage of object-style data.

No overkill. While conceding that relational databases offer an unparalleled feature set and a rock-solid reputation for data integrity, NoSQL proponents say this can be too much for their needs.

Take Adobe's ConnectNow, which, even without a database, makes three copies of users' session data while they are online -- data that is mostly deleted after logoff, said Sena.

"We didn't need a database since the best representation of the data was already in memory," he said.

Support by bootstrap

Because they are open source, NoSQL alternatives lack vendors offering formal support. That's no deal breaker to most proponents, who are plugged closely into this Silicon Valley-centric community and are thus comfortable with the bootstrap approach.

But some admitted that working without a formal "throat to choke" when things go wrong was scary, at least for their managers.

"We did have to do some selling," admitted Adobe's Sena. "But basically after they saw our first prototype was working, we were able to convince the higher-ups that this was the right way to go."

Despite their huge promise, most enterprises needn't worry that they are missing out just yet, said Monash.

"Most large enterprises have an established way of doing OLTP [online transaction processing], probably via relational database management systems. Why change?" he said. MapReduce and similar BI-oriented projects "may be useful for enterprises. But where it is, it probably should be integrated into an analytic DBMS [database management system.]"

Even NoSQL's organizer, Oskarsson, admits that his company, Last.fm, has yet to move to a NoSQL alternative for production, instead relying on open-source databases.

He agrees that a revolution, for now, remains on hold.

"It's true that [NoSQL] aren't relevant right now to mainstream enterprises," Oskarsson said, "but that might change one to two years down the line."

Read more about Databases in Computerworld's Databases Topic Center.



Our Commenting Policies