Paul Graham向我们展示了一个有趣的比较各种编程语言的方法:阐述各种编程语言都是用来解决什么问题的。我发现这种方法放在数据库上同样好用:
Oracle: 我们需要企业级数据库。文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/
MySQL: Oracle不开源。文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/
PostgreSQL: MySQL的功能不够多。文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/
SQLite: 你可以把我嵌入到任何地方。这样,4种数据库够大家用了。文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/
MongoDB: 为什么我们要用join和模式(schema)?文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/
CouchDB: 为什么我们要有集合(collection)?文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/
Redis: 为什么我们要面向文档?文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/
Memcached: 为什么我们要用硬盘?文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/
Neo4j: SQL缺乏足够的关系。文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/
Bigtable: MongoDB的对web的扩展性不管好。文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/
Hbase: Bigtable不开源。文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/
Cassandra: Bigtable不是Facebook开发的。文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/
Riak: Cassandra不是用Erlang语言编写的。文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/
OrientDB: 让我们把所有东西都放到同一个数据库里!文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/ 文章源自运维生存时间-https://www.ttlsa.com/database/why-there-are-so-many-kinds-of-database/

评论