2

我尝试为问答游戏统计建立一个后端:我想知道全球每张图像的识别率以及按国家/地区划分的图像识别率。

目前数据模型是:

表结果(
  国家文本,
  浮动百分比,
  image_id 文本,
  失败的诠释,
  好的,
  显示int,
  主键(国家、百分比、image_id)
);

我可以按国家/地区查询结果,但无法获得全局结果(百分比较高的图像)。

有什么提示吗?

4

2 回答 2

2

可以定义“TOTAL”国家,该国家将保存所有国家/地区的统计数据总和。

PSpercent由于 cassandra 的最终一致性,将主键作为主键的一部分似乎不是一个好主意:不可能对percent字段进行原子更新。

我认为有两种可能的情况:要么数据集足够小 - 然后任何在percent字段上具有二级索引的 SQL DB 都会比 cassandra 做得更好,或者 SQL DB 的数据太多 - 然后 Cassandra 有这些数据模型也不起作用,只有部分计数的映射/减少会起作用。

于 2013-02-09T15:24:55.700 回答
0

你需要两个 CF。

另一种方法是使用排序分区并使用 CompoteType 的键,因此您的键不是 PRIMARY KEY (country, percent, image_id) 而是 PRIMARY KEY ((country, percent, image_id))。

您还需要另一列 image_id ,您可以在该 image_id 上放置一个二级索引,以便您可以查询 image_id=x

于 2013-02-10T03:58:30.523 回答