我一直在阅读很多关于非关系数据库、整个 NOSQL 运动的帖子,并且围绕它有很多新的活动。这似乎是构建高度可扩展的 Web 应用程序的一种非常有趣的方法,但不幸的是(但在这个初期阶段也是一件好事)目前还没有一个明确的领导者/标准。
我的背景是 LAMP 堆栈(以 MySQL 作为 dB),我想了解会有哪些差异和限制 - 但使用现实生活中的 Web 应用程序示例。有很多关于 RDBMS 与非 RDBMS 的优缺点理论的好文章,但我还没有找到任何可以说明现有 Web 应用程序(例如社交书签)如何构建不同的示例新的 dB 结构的优势以及必须遗漏的功能 - NOSQL dB 可以是键值或以文档为中心或图形。
有人愿意对现实世界 Web 应用程序的 NOSQL 与 RDBMS 模型/架构进行高级比较(例如社交书签或任何其他可以很好地解释这些概念的示例)吗?
供其他人参考,以下是我遇到的一些文章:
- 非关系型数据库设计
- http://nosql-databases.org/
- http://linux-mag.com/cache/7579/1.html
- http://blog.boxedice.com/2009/07/25/choosing-a-non-relational-database-why-we-migrated-from-mysql-to-mongodb/
- http://bret.appspot.com/entry/how-friendfeed-uses-mysql
- http://metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores/
- http://rackspacecloud.com/blog/2009/11/09/nosql-ecosystem/
- http://horicky.blogspot.com/2009/11/nosql-patterns.html