Ethereum clients (such as geth, eth, pyethapp, ethereumj, and ethereumH) download the Ethereum blockchain from their peers and then store a copy of it locally, presumably indexed within some sort of database for efficient lookup and retrieval. Other uses for databases within the clients may include storage of the state, tracking of peers, etc.
Which databases are used by the respective clients, and for what reasons have they been selected?