Cassandra数据查询PDI 5.3的问题

时间:2015-02-26 09:02:38

标签: cassandra pdi

我有一个Cassandra安装,其中包含一个不超过11​​0k记录的表。

使用PDI 5.3(最新版本)查询数据时遇到了很多麻烦。我经常在卡桑德拉身边失去记忆。

当然,我安装Cassandra的服务器并不是最好的4Gb RAM,只有2个核心,我仍然希望能够毫无问题地执行这个简单的任务。

在cassandra /conf/cassandra-env.sh中,我已配置:

MAX_HEAP_SIZE="4G"
HEAP_NEWSIZE="200M"

现在我可以查询的最大行数是80k。 文档建议将MAX_HEAP_SIZE设置为机器RAM的1/4。但对我来说,这意味着1G,只有大约20k行要查询。

我可以通过使用limit关键字在PDI的Cassandra input步骤中限制select来判断我可以查询的行数。

我可以调整其他任何参数以获得更好的性能吗?这是一个开发服务器,在生产时我会期待1mil +行的查询。

安装Cassandra的服务器:红帽企业Linux服务器版本6.6(圣地亚哥)

Cassandra版本: apache-cassandra-2.1.2

编辑:版本已更新。

1 个答案:

答案 0 :(得分:2)

为内存牺牲IO(因为内存正在杀死你):

  • 如果启用了低位键/行高速缓存(默认情况下键高速缓存已启用)
  • 如果你执行大量的删除操作,你可以降低gc_grace_seconds以更快地删除墓碑(假设你进行了许多范围扫描,如果你获取80k行,你会这样做有帮助)

其他一些想法:

  • Paginate (选择0-10k的80k,然后10-20k等。
  • 检查记事本的大小,如果它们太大则降低它们。
  • 使用跟踪来验证您要检索的内容(tombstones can cause lots of overhead

This thread建议降低commit_log大小,但是提交日志经过大量修改并在2.1中不再发生变化,不再是这样的问题了。