Paul Graham向我們展示了一個有趣的比較各種編程語言的方法(原文):闡述各種編程語言都是用來解決什麼問題的。我發現這種方法放在數據庫上同樣好用:
Oracle: 我們需要企業級數據庫。
MySQL: Oracle不開源。
PostgreSQL: MySQL的功能不夠多。
SQLite: 你可以把我嵌入到任何地方。這樣,4種數據庫夠大家用了。
MongoDB: 爲什麼我們要用join和模式(schema)?
CouchDB: 爲什麼我們要有集合(collection)?
Redis: 爲什麼我們要面向文檔?
Memcached: 爲什麼我們要用硬盤?
Neo4j: SQL缺乏足夠的關係。
Bigtable: MongoDB的對web的擴展性不管好。
Hbase: Bigtable不開源。
Cassandra: Bigtable不是Facebook開發的。
Riak: Cassandra不是用Erlang語言編寫的。
OrientDB: 讓我們把所有東西都放到同一個數據庫裏!