我正在尝试决定是否将 voldemort 或 couchdb 用于即将进行的医疗保健项目。我想要一个具有高可用性、容错性并且可以扩展以适应大量数据的存储系统。
每个的优点/缺点是什么?
谢谢
伏地魔计划看起来不错,但到目前为止我还没有深入研究它。
在当前状态下,CouchDB 可能不适合“大量数据”。在节点之间分配数据并相应地路由查询已在路线图上,但目前尚未实施。已知最大的 CouchDB 生产设置使用大约 200G 的“表”(在沙发上说“数据库”)。
CouchDB 本身不支持 HA,但可以轻松构建:所有 CouchDB 节点都在多主设置中相互复制数据库节点。我们在 CouchDB 机器前面放置了两个Varnish 代理,并且 Varnish 盒与CARP冗余。CouchDB 的“从 Web 构建”设计使这些事情变得非常容易。
我们设置中最紧迫的问题是,将大型(多 MB)附件复制到 CouchDB 文档仍然存在问题。
我建议你也检查一下传统的 RDBMS 路线。RDBMS 方法之外的可用人才存在巨大问题,Oracle & Co 提供了非常强大的产品。
从您的问题中了解的不够多,我仍然会说 Project Voldemort 或像 CouchDB 这样的分布式哈希表 ( DHT ) 通常是解决您的 HA 问题的方法。
这些 DHT 非常适合高可用性,但在一致性方面比传统的关系数据库 (RDBMS) 更难编写代码。
它们非常适合存储文档类型信息,这可能非常适合您的医疗保健项目,但会使数据开发更加困难。
阅读关于一致性与可用性的BASE和CAP定理。
看
memcacheDB是一个选项吗?我听说 Digg 就是这样处理 HA 问题的。