couchbase - 使用 Couchbase 处理大型数据集

标签 couchbase

我正在为我的项目评估 NoSQL 数据库。以下是要求。

  1. 我们将拥有分布在集群中不同节点上的大约 600 GB 的庞大数据集。
  2. 我们每秒需要大约 1k 次读取操作。
  3. 我们正在寻找高可用性、容错、 self 修复的解决方案。

我看中了 Cassandra 和 Couchbase,然后根据以下因素选择了 Couchbase:

  1. Couchbase 读取性能优于 Cassandra。
  2. Couchbase 中的集群管理更好。

我的问题是,Couchbase 能否处理庞大的数据集?我无法在网上找到太多关于此的信息。

最佳答案

首先,600 GB 曾经被认为是一个巨大的数据集,但现在不再是了。

我处理每月大约 120 亿条记录的电信数据(通话详细记录)。使用 node.js 程序作为后端对我的新 Loyalty 程序的数据进行一些严肃的操作,我能够在我的 2013 MacBook Pro 上运行它(16 GB,尽管 Couchbase 只占用其中的一小部分/SSD ) 每秒调用 1000-1200 次。

这意味着在 1000-1200 之间到达 node.js 程序,导致对 Couchbase 数据库(版本 2.x 仍然是 BTW)的更多读写。在这期间,Couchbase 服务器下降到零事务,因为我从同一个 MBP 提供数据并将其推送到我的应用程序比 Couchbase 和 Node.js 可以运行的慢。

因此,没有必要使用您的目标设置在许多节点上运行它,并且 Couchbase 的线性扩展方式超出了其他 NoSQL 所能做到的。他们有两份关于此的白皮书,显示 MongoDB 和 Cassandra 以每秒 8k (MongoDB) 和 12k (Cassandra) 事务的速度运行,而 Couchbase 继续保持强劲。

Altoros Systems 称为“用于交互式应用程序的基准测试 Couchbase 服务器”的一项显示了读取(延迟)与吞吐量的对比,Cassandra 从 2 毫秒(对于 1k 读取)开始,从 7k 读取上升到 4ms 到 10k 读取并结束在 6 毫秒内以 12k 读取进行测试。

另一方面,Couchbase 在 16k 读取之前低于 1ms,然后才显示速度变慢,在 20k 读取时达到 1.5ms,在图表结束时在 21k 时达到 2.5ms。

在这个比较中,MongoDB 甚至与 Cassandra 或 Couchbase 不在同一个级别。您将在白皮书中找到有关测试设置的所有详细信息。

另一份白皮书名为“Couchbase Server 3.0.2 与 MongoDB 3.0 的比较:基准测试结果和分析”,来自 Avalon Consulting LLC。它比较新,比较了最新版本(尤其是新的 MongoDB 版本)。

引用它:“在并发客户端数量相同的情况下,Couchbase Server 的读取延迟是 MongoDB 的 4 倍 - 245。与吞吐量一样,并发性很重要。随着并发客户端数量的增加,MongoDB 延迟增加了 50% 以上50%。但是,Couchbase 服务器延迟增加的幅度要小得多——只有 10%。”

如果您无法在网上找到它,请私信我,我可以将两份白皮书通过电子邮件发送给您。作为我的决策过程的一部分,我已经研究过哪种 NoSQL 解决方案最适合我的用例。

免责声明:我不隶属于上述任何公司,我只是一个用户。

关于couchbase - 使用 Couchbase 处理大型数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32084273/

相关文章:

java - 在 couchbase 中存储数据(java 对象)

java - 如何在 couchbase 中更新插入 JSONArray 子文档

couchbase - 使用 N1QL 查询同步网关桶

java - 用 Java 编写基本的 n1ql 查询

kubernetes - 无法使用本地存储类上的持久卷设置Couchbase Operator 1.2

json - n1ql 查询更新 json 数据数组中的多个参数

CouchDB 和 Couchbase 文档 key

nosql - 用于聊天历史持久化和用户统计的 CouchDB

android - 如何将我的 Android 应用程序与 Couchbase 服务器同步?

.net - NLog 的 Couchbase