使用 Couchbase 处理大型数据集
Using Couchbase for large data sets
我正在为我的项目评估 NoSQL 数据库。以下是要求。
- 我们将有大约 600 GB 的庞大数据集分布在集群中的不同节点上。
- 我们每秒需要大约 1k 次读取操作。
- 我们正在寻找高可用性、容错、自我修复的解决方案。
我关注了 Cassandra 和 Couchbase,然后根据以下因素选择了 Couchbase:
- Couchbase 读取性能优于 Cassandra。
- Couchbase 中的集群管理更好。
我的问题是,Couchbase 能否处理庞大的数据集?我无法在网上找到太多关于此的信息。
当然,Couchbase 将其数据存储在所谓的存储桶中。
根据:http://docs.couchbase.com/admin/admin/Misc/limits.html
最大存储桶大小无限制
存在与您的数据是否可以超过您分配给存储桶的内存相关的问题。是的,可以。
首先,600 GB 曾经被认为是一个巨大的数据集,但现在不再是了。
我处理每月大约 120 亿条记录的电信数据(呼叫详细记录)。使用 node.js 程序作为后端对我的新忠诚度计划的数据进行一些严肃的操作,我能够 运行 它在我的 2013 MacBook Pro 上(16 GB 虽然 Couchbase 只需要一个it/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 称为 "Benchmarking Couchbase Server for Interactive Applications" 的系统显示读取(延迟)与吞吐量的关系,Cassandra 从 2 毫秒(对于 1k 读取)开始,从 7k 读取到 10k 读取增加到 4ms 并结束测试在 12k 时读取 6 毫秒。
另一方面,Couchbase 在读取 16k 之前低于 1ms,然后才显示速度变慢,在 20k 读取时达到 1.5ms,在图表结束时在 21k 时达到 2.5ms。
MongoDB 在这个比较中甚至与 Cassandra 或 Couchbase 不在同一个级别。您将在白皮书中找到有关测试设置的所有详细信息。
另一份白皮书名为 "Comparing Couchbase Server 3.0.2 with MongoDB 3.0: Benchmark Results and Analysis",来自 Avalon Consulting LLC。它比较新,比较了最新版本(尤其是新的 MongoDB 版本)。
引用它:"Couchbase Server provided 4x better read latency than MongoDB with the same number of concurrent clients - 245. Like throughput, concurrency is important. MongoDB latency increased by over 50% as the number of concurrent clients was increased by 50%. However, Couchbase Server latency increased by much smaller margins - as little as 10%."
如果您无法在网上找到它,请私信我,我可以将两份白皮书通过电子邮件发送给您。作为我的决策过程的一部分,我已经研究过哪种 NoSQL 解决方案最适合我的用例。
免责声明:我不隶属于上述任何一家公司,我只是一个用户。
我正在为我的项目评估 NoSQL 数据库。以下是要求。
- 我们将有大约 600 GB 的庞大数据集分布在集群中的不同节点上。
- 我们每秒需要大约 1k 次读取操作。
- 我们正在寻找高可用性、容错、自我修复的解决方案。
我关注了 Cassandra 和 Couchbase,然后根据以下因素选择了 Couchbase:
- Couchbase 读取性能优于 Cassandra。
- Couchbase 中的集群管理更好。
我的问题是,Couchbase 能否处理庞大的数据集?我无法在网上找到太多关于此的信息。
当然,Couchbase 将其数据存储在所谓的存储桶中。
根据:http://docs.couchbase.com/admin/admin/Misc/limits.html 最大存储桶大小无限制
存在与您的数据是否可以超过您分配给存储桶的内存相关的问题。是的,可以。
首先,600 GB 曾经被认为是一个巨大的数据集,但现在不再是了。
我处理每月大约 120 亿条记录的电信数据(呼叫详细记录)。使用 node.js 程序作为后端对我的新忠诚度计划的数据进行一些严肃的操作,我能够 运行 它在我的 2013 MacBook Pro 上(16 GB 虽然 Couchbase 只需要一个it/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 称为 "Benchmarking Couchbase Server for Interactive Applications" 的系统显示读取(延迟)与吞吐量的关系,Cassandra 从 2 毫秒(对于 1k 读取)开始,从 7k 读取到 10k 读取增加到 4ms 并结束测试在 12k 时读取 6 毫秒。
另一方面,Couchbase 在读取 16k 之前低于 1ms,然后才显示速度变慢,在 20k 读取时达到 1.5ms,在图表结束时在 21k 时达到 2.5ms。
MongoDB 在这个比较中甚至与 Cassandra 或 Couchbase 不在同一个级别。您将在白皮书中找到有关测试设置的所有详细信息。
另一份白皮书名为 "Comparing Couchbase Server 3.0.2 with MongoDB 3.0: Benchmark Results and Analysis",来自 Avalon Consulting LLC。它比较新,比较了最新版本(尤其是新的 MongoDB 版本)。
引用它:"Couchbase Server provided 4x better read latency than MongoDB with the same number of concurrent clients - 245. Like throughput, concurrency is important. MongoDB latency increased by over 50% as the number of concurrent clients was increased by 50%. However, Couchbase Server latency increased by much smaller margins - as little as 10%."
如果您无法在网上找到它,请私信我,我可以将两份白皮书通过电子邮件发送给您。作为我的决策过程的一部分,我已经研究过哪种 NoSQL 解决方案最适合我的用例。
免责声明:我不隶属于上述任何一家公司,我只是一个用户。