Apache CouchDB 1.2 speeds up and compresses more
The developers of Apache CouchDB have announced improvements in performance and security in the newly released version 1.2 of the NoSQL document database. The update also sees a new replication implementation and the default enabling of file compression for database and view index files. The new version was launched alongside a revamped web presence for the database at the Apache Software Foundation.
CouchDB makes heavy use of JSON-formatted data and, in 1.2, the developers have moved critical parts of the JSON parser into C (using the yajl library), which they say has improved latency and throughput throughout the system. Databases and indexes for views are now passed through Google's Snappy compression system, reducing the amount of data transferred to and from disk; that reduction in I/O also improved the performance of the database and allowed for a number of algorithmic improvements that enhanced it further for common operations such as building views.
Security was overhauled in Apache CouchDB 1.2, which has led to some breakage of backwards compatibility, but the developers say they "think it is well worth the trouble". The user database is no longer readable by all, and accessing the data in the replicator database will return documents stripped of confidential information such as passwords and OAuth tokens. CouchDB now consistently manages the hashing of passwords before storage, rather than relying on client applications to hash them. OAuth secrets within the database and persistent authentication cookies are now also supported by CouchDB.
Other changes include a new replicator system, "rewritten from scratch", which the developers say is more reliable and faster than before; it also has a wider range of configuration options to allow for better tuning for particular environments. There are also improvements to the build system and logging, as well as various bug fixes.
Details are available in the CHANGES file. Users are urged to consult the Breaking Changes wiki page before upgrading due to the security and compression changes. Source code and Windows builds of the Apache 2 licensed CouchDB are available to download; a Mac OS X version is "coming soon".