Since 0.8 bitcoind uses LevelDB for the storage of the UTXO set in
chainstate/ and the block index in
blocks/index/. On github special branch of LevelDB can be found:
What reasons made LevelDB the best choice for key-value storage compared to other embedded database solutions? How does bitcoind's own LevelDB fork differ from the official version?