I need to implement a massive databse with a relatively simple structure. That is few tables, no complex dependencies, etc. How would I begin to choose between say Cassandra and CouchDB?
Well it really comes down to how you want your data to be stored and how you access it. It also depends on how you want to shard your data and if you want failover/replication.
CouchDB is really good as a document database and has a nice RESTful interface to access everything. It is a multiversion store so updating a record creates a new version everytime it is stored.
Searching CouchDB is done by writing a query in JavaScript to search for what you want.
Cassandra on the other hand is a column database and needs you to use the Thrift API to insert/update and delete the data. It is very good in that it has a caching layer that is disk backed.
Like I said, work out how you want to use your data then start looking at all the different things.
Cassandra's advantages are scalability and performance; Couch's is best-in-class support for bi-directional sync between devices/machines which may be taken offline (e.g. Android).