我尝试为问答游戏统计建立一个后端:我想知道全球每张图像的识别率以及按国家/地区划分的图像识别率。
目前数据模型是:
表结果( 国家文本, 浮动百分比, image_id 文本, 失败的诠释, 好的, 显示int, 主键(国家、百分比、image_id) );
我可以按国家/地区查询结果,但无法获得全局结果(百分比较高的图像)。
有什么提示吗?
我尝试为问答游戏统计建立一个后端:我想知道全球每张图像的识别率以及按国家/地区划分的图像识别率。
目前数据模型是:
表结果( 国家文本, 浮动百分比, image_id 文本, 失败的诠释, 好的, 显示int, 主键(国家、百分比、image_id) );
我可以按国家/地区查询结果,但无法获得全局结果(百分比较高的图像)。
有什么提示吗?
可以定义“TOTAL”国家,该国家将保存所有国家/地区的统计数据总和。
PSpercent
由于 cassandra 的最终一致性,将主键作为主键的一部分似乎不是一个好主意:不可能对percent
字段进行原子更新。
我认为有两种可能的情况:要么数据集足够小 - 然后任何在percent
字段上具有二级索引的 SQL DB 都会比 cassandra 做得更好,或者 SQL DB 的数据太多 - 然后 Cassandra 有这些数据模型也不起作用,只有部分计数的映射/减少会起作用。
你需要两个 CF。
另一种方法是使用排序分区并使用 CompoteType 的键,因此您的键不是 PRIMARY KEY (country, percent, image_id) 而是 PRIMARY KEY ((country, percent, image_id))。
您还需要另一列 image_id ,您可以在该 image_id 上放置一个二级索引,以便您可以查询 image_id=x