【发布时间】:2018-03-20 10:59:25
【问题描述】:
我目前正在使用 DB2 并计划使用 cassandra,因为据我所知,cassandra 的读取性能高于 RDBMS。
这可能是一个愚蠢的问题,但我进行了比较 DB2 和 Cassandra 之间的读取性能的实验。
使用 500 万条记录和相同的表架构进行测试。
查询SELECT * FROM customer。 DB2 使用 25-30 秒,Cassandra 使用 40-50 秒。
但是使用 2-3s 查询 where 条件 SELECT * FROM customer WHERE cusId IN (100,200,300,400,500) DB2 和使用 3-5ms 的 Cassandra。
为什么 Cassandra 在 where 条件下比 DB2 快?所以我无法用SELECT * FROM customer 证明哪个数据库更大,对吧?
仅供参考。
Cassandra:RF=3 和 CL=1,3 个节点,每个节点在 3 台计算机上运行 (VM-Ubuntu)
DB2:在 Windows 上运行
表架构:
cusId int PRIMARY KEY, cusName varchar
【问题讨论】:
-
在 Cassandra 中,如果使用单独查询而不是查询中的执行异步,会更快。检查这个datastax.com/dev/blog/java-driver-async-queries