CQL集合看起来很慢

时间:2016-08-30 03:09:26

标签: python cassandra

我正忙着在cassandra中存储数据,而我发现CQL集合存在严重的性能问题。我从这个架构开始:

CREATE TABLE TEST (
  date DATE,
  tranche TEXT,
  id INT,
  properties MAP<TEXT,FLOAT>,
  PRIMARY KEY ((date,tranche), id)
)

如果我对此分区中的所有数据运行查询

SELECT * FROM TEST where date = "2016-08-26" and tranche = "third"

跟踪报告加载15K行需要大约1.3秒。地图中有大约85个条目。 python的挂钟时间约为5秒。加载一个'分区'

似乎很慢

所以我尝试了这个模式,并使用消息包将整个地图存储在一个单元格中

CREATE TABLE TEST (
  date DATE,
  tranche TEXT,
  id INT,
  properties blob,
  PRIMARY KEY ((date,tranche), id)
)

现在相同的查询需要大约60毫秒(通过跟踪报告)和大约500毫秒的挂钟时间(再次使用python)

我知道这与MAP版本有关,但这似乎意外地降低了性能。

在测试时我注意到的一个奇怪的是,在两种情况下,跟踪报告它返回了15K单元(对应于行数)。我希望在第二个模式中有这个,但我的理解是地图中的每个元素都存储在当前版本的cassandra中它自己的单元格中,所以有点惊讶于此。

我正在使用版本3.7的cassandra和datastax python驱动程序。任何人都能了解这里发生的事情吗?

0 个答案:

没有答案