是否有可以在生产系统上使用的生产质量 nosql 存储。我看过 cassandra、tokyodb、couchdb 等,但它们似乎都没有准备好在生产环境中进行部署。我说的是每分钟数千个请求和大量读取/写入/更新。我唯一关心的是速度和服务时间。有人知道有效使用 nosql 存储的生产系统吗?有谁知道由 Google/Yahoo/IBM 等大企业支持的 nosql 商店?
6 回答
Cassandra 在每台机器上每秒处理数千个请求(包括以写入为主的工作负载),并且它的通过添加机器进行扩展从第一天就已经存在。
以下是数十家公司在生产和生产中使用 Cassandra 的主题:http: //n2.nabble.com/Cassandra-users-survey-td4040068.html#a4040068
我们也一直在添加更多文档,例如http://wiki.apache.org/cassandra/Operations。
如果我“只”关心速度和服务时间(而不关心或不关心诸如一致性和事务之类的东西),我认为 NoSQL 系统是一个很好的选择。Facebook 使用 Cassandra。
“Cassandra 在 Facebook 中用作电子邮件搜索系统,包含 25TB 和超过 1 亿个邮箱。” http://highscalability.com/product-facebooks-cassandra-massive-distributed-store
我认为 CouchDb 不是很快,也许你可以使用 MongoDB:http ://www.mongodb.org/display/DOCS/Production+Deployments
同样值得考虑的是使用像 MySQL 这样的传统 RDBMS 来存储无模式。这种方法为您提供了经过验证的数据库服务器(如 MySQL)的稳定性以及 NoSQL 解决方案的灵活性。
查看这篇关于FriendFeed如何做到这一点的博客文章。
我的第一直觉是 BerkeleyDB,每个应用程序节点都在 SAMBA 网络上,以促进 ACID 一致性和网络使用。它还具有 SQLite 界面。其他海报引用 MemcacheDB 里面也有 BDB。
另一个独特的选择是OrientDB
,它还具有 SQL 接口、许多网络和集群功能。