I've finally released the new version of my site. Hurrah for me :) The main points of interest are:
- Conversion to Pylons web framework from Django.
- A custom blog engine using Couchdb as the back-end storage.
- Full Selenium Remote Control and unit test coverage.
There's nothing really revolutionary here. I spent a lot of my time fighting with Django to do things in my preferred manner. Pylons has turned out to be a better fit for me. You can swap out any part in favour of your own. One example of this is my use of Couchdb and my later plans to use Postgres for other things via SQLAlchemy. This mixture of databases is not currently possible in Django.
One of the features that drew me to couchdb originally was the master to master replication. My perception of this is that it is hard/expensive to do in other databases. Most systems cost tens of thousands to do this out of the box. Some projects I've seen have been deterred by the cost and have tried implementing their own solutions.
Couchdb isn't a relational database. It also doesn't have a SQL dialect to query the data with. Instead is uses the Map Reduce concept and "documents" with revisions to represent what its storing. Couchdb is quite a departure from the other database systems I've used in the past (MSSQL, Postgresql, MySQL, Oracle, etc).