Database Journal
MS SQL Oracle DB2 Access MySQL PostgreSQL Sybase PHP SQL Etc SQL Scripts & Samples Links Database Forum

» Database Journal Home
» Database Articles
» Database Tutorials
MS SQL
Oracle
DB2
MS Access
MySQL
» RESOURCES
Database Tools
SQL Scripts & Samples
Links
» Database Forum
» Sitemap
Free Newsletters:
DatabaseDaily  
News Via RSS Feed


follow us on Twitter
Database Journal |DBA Support |SQLCourse |SQLCourse2
 

Featured Database Articles

Database News

Posted June 16, 2011

Couchbase Improves NoSQL Performance

By Sean Michael Kerner

The open source NoSQL Apache CouchDB database is set to get a major performance boost thanks to commercial services vendor Couchbase.

Couchbase this week announced multiple performance contributions to CouchDB that will first appear in the Couchbase Single Server 2.0 distribution of CouchDB. Among the enhancements are disk write and indexing performance gains that offer the promise of a 3x boost.

"We added a feature to the core storage module of CouchDB to allow compression of the data we are storing on disk," Couchbase co-founder Jan Lehnardt told InternetNews.com. "The feature allows the database to pick a compression algorithm or to disable the compression completely."

Lehnardt noted that Couchbase also added gzip and Google's new Snappy compression algorithms. The whole compression approach is modular so CouchDB developers can add more compression types down the road.

"We made Snappy the default because it resulted in the best CPU time / compression ratio," Lehnardt said. "The result of the compression is that the CPU has to shove around less data when writing to disk, allowing for more actual data throughput."

Couchbase developers also found and removed a data serialization bottleneck that improves performance. Another part of the speed improvements noted by Lehnardt, come from making the file write subsystem work asynchronously.

"That way, if the disk subsystem is still sending data to the disk, the CouchDB end can prepare data to be stored in the meantime," Lehnardt said. "This ensures optimal and even throughput in high-update situations. We're making full use of Erlang's great support for concurrency here."

Couchbase has gone a step further with improvements to disk storage usage using what Lehnardt referred to as a simple storage technique. According to Couchbase, the on-disk storage format reduces by half the amount of disk space required for database and index files, further increasing I/O efficiency.

The improvements to CouchDB are now available in the Couchbase Single Server 2.0 distribution of CouchDB which is in developer preview. Lehnardt noted that all of the patches that Couchbase has made have either been included or posted to the Apache CouchDB contribution review process.

Couchbase itself is a commercial company that was formed in Febuary with the merger of CouchOne and Membase. CouchOne was the home of CouchDB founder Damien Katz who is now with Couchbase.

The core Apache CouchDB project recently updated to version 1.1, which does not include the new improvements.

"The source for the improvement has been out for weeks already, the Apache CouchDB 1.1 release was branched way before we started our efforts, so we couldn't have gotten these into 1.1.0 without subverting the process that is known to produce reliably stable software," Lehnardt said. "We didn't feel like doing that. We hope the Apache CouchDB developer community finds the time to consider our contributions for the 1.2.0 release."

Lehnardt explained that the Couchbase Single Server 2.0 Developer Preview is based on Apache CouchDB trunk (currently slated to be the basis for Apache CouchDB 1.2 later this year). In addition, Couchbase added an auto-compaction feature that allows a more hands-off operation of CouchDB that has also been submitted to the community review process.

While Couchbase has numbered their upcoming release as 2.0 that doesn’t have a direct relation to the Apache CouchDB project's version numbering.

"CouchDB 2.0 is not yet on any roadmap, we just chose to differentiate with our version numbers to avoid confusion with Apache CouchDB releases as we've seen in the past," Lehnardt said. "We have a version matrix on our website so our users can find out what Apache CouchDB release is underlying a respective Couchbase release."

Sean Michael Kerner is a senior editor at InternetNews.com, the news service of Internet.com, the network for technology professionals.



Database News Archives

Comment and Contribute

 


(Maximum characters: 1200). You have characters left.

 

 




Latest Forum Threads
Database News Forum
Topic By Replies Updated
Efficient SQL Server Indexing by Design lcole 0 April 30th, 12:38 PM
Mine Oracle Database, SQL Server and Other Databases with Monarch Data Pump Pro V10.5 lcole 0 April 30th, 12:37 PM
Oracle Database and Oracle Fusion Middleware for Private Social Network Application lcole 0 April 30th, 12:31 PM
Oracle Database Maintains a Stronghold in the DBMS Market lcole 0 April 30th, 12:30 PM