The first fully production-ready nonrelational, or NoSQL, database, called CouchDB, has been released, the corporate sponsor of the project, Couchio, announced on Wednesday.
Two major enhancements to CouchDB make it 1.0-worthy, said Chris Anderson, the chief financial officer and a founder of Couchio. One is the fact that performance of the software has been greatly improved. The other is its ability to work on Microsoft Windows machines. A lot of work was also put into stabilization of the software.
Performance-wise, the new version has demonstrated a 300 percent increase in speed in reads and writes, as judged by internal benchmarking tests done by Couchio. The performance improvements were gained by optimizing the code, Anderson said.
This is also the first release of CouchDB that can fully run on Windows computers, either the servers or desktops, Anderson said. Previous versions could run on Linux, and there is a version being developed for the Google Android smartphone operating system.
"It allows you to build Web applications without a middle tier. Instead of a database, a Java stack and then a browser, you just have HTTP and the browser," Anderson said.
Web application developers may find the technology interesting in that it allows for off-line storage of data, which can be useful when designing Web applications for devices not always connected to the Internet.
"Off-line replication support is really unique to CouchDB, especially in the open-source space," Anderson said. "If you have a workgroup, then everyone in that workgroup can have a copy of the data, and it can be synchronized."
For developers, CouchDB may be easier to use than relational databases because it does not require them to understand how to create SQL queries to write to or draw data from a database.
An implementation of Google MapReduce is used for queries. "You can do complex queries. Pretty much any kind of query you can do in SQL you can do in CouchDB, though you may have to think about how to write the query differently," Anderson said.
Work on CouchDB began in 2005 at IBM as a Lotus Notes project to help with off-line replication of data. It became an independent open-source project in 2008. Couchio offers commercial support for the software.