Which NoSQL database(s) should be used for advertising platform? What NoSQL database or combination of databases best meets these criteria?

Very fast writes and reads
Persistent data that won't get lost in a crash
Plays nice with PHP
Works well in the cloud (EC2)
High availability
Preferably open-source
The data needs to be able to be manipulated in a way to show statistics reports (sums, ranges, groupings, etc)


EDIT
Would a document database such as couch give me the following features?

Very fast writes and reads
Persistent data that won't get lost in a crash
Plays nice with PHP
Works well in the cloud (EC2)
High availability
The ability to manipulate data to show statistics reports (sums, ranges, groupings, etc)


EDIT
If you were me, would you choose couch, mongo or riak as the NoSQL database for me to use on my PHP system knowing that these are my primary goals:

Very fast writes and reads
Persistent data that won't get lost in a crash
Works well in the cloud (EC2)
High availability

I'm examining non-traditional datastores for my environment and am having some trouble deciding which way I should go here.

Either one of the two edits provided above would've been a better match for the question at hand, allowing for better answers and probing questions. It's a shame that this wasn't caught in time.
To be very fast, the database should only use memory and not disc since disc operations usually takes much longer time. But then your data aren't persistent in case of a crash. What you could do is assynchronous disk operations, by that most of your writes will be persistent but it's not guaranteed that the last few writes are persistent. If this is okey for you, you can use Redis. See also Redis - The Hacker's Database.

If you really care for persistent data, you should use a database that have been tested and used for years. Then PostgreSQL is a good choice.

To achive high availability, you need a distributed system with multiple nodes, so they can tolerate that at least one node goes down. Then I would use Riak.

The question is why do you need NoSQL? That word means almost nothing. I would recommend you to go with a traditional RDBMS like PostgreSQL until that can't handle your problem. It will be much easier to handle for you and it's much more flexible.

What you can do to improve the speed is to use caching. Then you can use Varnish Cash infront of your server, that will improve your speed a lot.

See also What are the differences between NoSQL and a traditional RDBMS?