Author Topic: Alternate database support => Couchdb  (Read 2628 times)

Offline somecallmemichael

  • Newbie
  • *
  • Posts: 1
Alternate database support => Couchdb
« on: December 14, 2010, 10:48:11 AM »
Hey everyone, new to the forum but I have been working with a fork of roundcube called "Tuxedo" which is a commercial offering by the folks at Linux Magic for a while now.  Their claim to fame is that they store all the database information as serialized arrays in text files, making clustering the webmail servers very easy as you put the data and skins directories on NFS and mount to multiple webmail servers.  

This whole method works for the purpose of a highly available cluster of webmail servers, but the whole serialized arrays in text files for database storage is not very scalable or easy to troubleshoot when something is broken.  In the spirit of looking for easily clusterable database engines I have come across Couchdb which is a very interesting approach to database storage.  For someone who is well versed in SQL style databases Couchdb is hard to grasp at first as it is a schema-less database that stores entries in "Documents", and retreived with "Views" (Views are like SQL queries but are written as map/reduce functions and are extremely efficient at data mining).  Even more radical is that calls to the database are done using HTTP requests as the database "is of the web".  My support for using this database came after I heard that CERN (the folks with the big atom smasher in Europe) were going to use Couchdb to store 10 petabytes of data per year.  Enough to keep me interested!  

Rather than get deep into explaining the database I will talk about the feature that has me exited which is their replication utility.  Replication in Couchdb is so easy to setup and manage its almost silly, and you can setup master/master active/active database servers in two minutes with about eight clicks of the mouse.  As you can tell I value high availability, which is a requirement for any software we implement (in our ISP environment), and any database that can be setup to work as a highly available cluster is awesome in my book.  Unfortunately the SQL databases are a bit of a PITA to cluster and make redundant (especially in comparison to Couchdb) and we are looking at adding support to Roundcube for this database.  

I am wondering if there has been any discussion, thought, or work put into creating additional database support in Roundcube, and specifically has anyone considered building support for Couchdb?
« Last Edit: December 14, 2010, 10:50:44 AM by somecallmemichael »