对于大多数应用程序来说,哪个NoSQL数据库更好?
Cassandra (0.7x)和Membase:
关键值数据库FAST
耦合
Cassandra为每个查询的持久性/一致性提供可选择的保证。
卡桑德拉支持BigTable列
Membase具有异步(立即返回)写入
除了一致性之外,你为什么要选择一个而另一个呢?
发布于 2011-01-10 21:32:49
Cassandra提供了将行分解为可以被索引、独立更新(而不必重写整个行/对象)的列,并用作物化视图(与关系行不同,cassandra列名可以在运行时动态确定)。
Cassandra提供跨多个数据中心的完全多主复制,每个键空间可配置.(例如,我想要3份数据集X在北美数据中心和1份拷贝在欧洲。但是数据集Y,我只想在北美复制两份。)
说“卡桑德拉更倾向于写作而不是阅读”是不正确的。不同的是,卡桑德拉和卡桑德拉的速度都非常快,而大多数系统的读取速度都很快。
FWIW,Cassandra曾经提供异步写入,但是我们使用它,因为当您达到容量的极限时,您的选择是:(1)将服务器运行到地面,或者(2)在没有反馈的情况下丢弃请求,这就是发生了什么。这是不值得的非常小的性能增长。
发布于 2011-04-07 22:13:20
Membase最近已经与CouchDB合并,并将把它的磁盘/持久化层从sqllite更新到CouchDB,从而使Membase能够进行地图/还原和查询/索引。
还没有人提到的一件事是,Membase集群神奇地易于安装,而Cassandra则需要更多的系统管理工作。
到目前为止,Cassandra也得到了更广泛的应用,尽管有一些Membase的关键用例,比如Zynga和它的社交游戏。
发布于 2012-02-11 07:12:27
这是一个非常简单的问题。你为什么不把riak,Couchdb,Hadoop和其他的比较一下呢?
没有比NoSQL db更适合大多数应用程序的东西了。“东京暴君”很适合做一些事情。SQLITE是一个很好的db,如果您知道自己在做什么,就可以进行缩放。
noSql的全部目的是解构单片关系数据库管理系统,并提供精简的数据库工具,这些工具侧重于数据库访问的各个方面,这些方面是应用程序的瓶颈。每个应用程序都是不同的,因此没有最好的选择。
然而,有一个最好的策略。也就是说,确定应用程序的原始性能需求,找出瓶颈所在,并选择数据库工具(可能是noSQL或RDBMS)来支持这些瓶颈并帮助您管理这些瓶颈。
博客圈里充斥着那些从同样简单的问题开始,最终做出错误选择的人的故事。如果你想要正确的答案,你需要从问正确的问题开始,有时你需要醒来,闻到咖啡的味道,并意识到你的应用程序只是很难从技术角度来管理。其他人发现,业务人员可以更好地解决扩展问题,但前提条件是,技术人员必须能够解释系统、其瓶颈和自然约束,以及在某些方面更容易扩展的机会,只要业务向不同的方向发展。
https://stackoverflow.com/questions/4643846
复制相似问题