Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 如何实施";“以后再看”;和卡桑德拉?_Cassandra_Cassandra 2.0 - Fatal编程技术网

Cassandra 如何实施";“以后再看”;和卡桑德拉?

Cassandra 如何实施";“以后再看”;和卡桑德拉?,cassandra,cassandra-2.0,Cassandra,Cassandra 2.0,我有一个照片应用程序,用户可以将相册添加到队列中,以便稍后观看 在每个相册页面上,他们将看到“稍后观看”按钮 我的问题是如何在卡桑德拉设计我的桌子 我只需要在WatchLater表中存储相册id、相册作者、相册标题、显示顺序和添加的日期 选项1: 单击并在WatchLater表中写入时复制这些值 优点: 1) 当显示用户的观察列表时,只需从该表中读取 缺点: 1) 用户可以随时删除相册或更改标题。许多用户可以将特定的相册添加到观看列表中。在标题更新期间,我还需要更新WatchLater表条目 2

我有一个照片应用程序,用户可以将相册添加到队列中,以便稍后观看

在每个相册页面上,他们将看到“稍后观看”按钮

我的问题是如何在卡桑德拉设计我的桌子

我只需要在WatchLater表中存储相册id、相册作者、相册标题、显示顺序和添加的日期

选项1: 单击并在WatchLater表中写入时复制这些值

优点: 1) 当显示用户的观察列表时,只需从该表中读取

缺点:

1) 用户可以随时删除相册或更改标题。许多用户可以将特定的相册添加到观看列表中。在标题更新期间,我还需要更新WatchLater表条目

2) 需要另一个索引来查找要更新的行

选项2: 仅在WatchLater表中保留ID、添加日期和顺序 显示用户的观察列表时,首先从WatchLater表中获取ID,然后使用这些ID从Albums表中提取Album title、author

优点: 无需担心专辑标题的更新

缺点: 我需要运行2个查询。所以它会稍微慢一点

假设更新标题的频率不是很高


你推荐哪一个选项?

看起来你已经正确地识别了这两个选项。真正的问题是平衡两者的痛苦

对于选项1,您是否有一个可以异步迭代各种监视列表并进行更新的系统?您可能还需要另一个将唱片集ID映射到用户/观察列表的表,以便快速找到要更新的观察列表。这听起来让你感到害怕吗?计划的/cron任务可能会起作用,但异步工作者(排队处理列表,可能是kafka/rabbitmq/spark),对于每次更新,都要更新相册-如果您有适当的框架,这并不困难

对于选项2,只需添加一个额外的读取。走出家门可能需要更少的努力,如果你想推出一个产品/功能,就“你以后需要解决的问题”而言,这会更快,也不会产生太大的“债务”


就我个人而言,我可能倾向于2,因为额外的读取可以很容易地缓存以用于后续页面加载,快速轻松读取可能不会有多大痛苦

看来您已经正确地识别了这两个选项。真正的问题是平衡两者的痛苦

对于选项1,您是否有一个可以异步迭代各种监视列表并进行更新的系统?您可能还需要另一个将唱片集ID映射到用户/观察列表的表,以便快速找到要更新的观察列表。这听起来让你感到害怕吗?计划的/cron任务可能会起作用,但异步工作者(排队处理列表,可能是kafka/rabbitmq/spark),对于每次更新,都要更新相册-如果您有适当的框架,这并不困难

对于选项2,只需添加一个额外的读取。走出家门可能需要更少的努力,如果你想推出一个产品/功能,就“你以后需要解决的问题”而言,这会更快,也不会产生太大的“债务”

就我个人而言,我可能倾向于2,因为额外的读取可以很容易地缓存以用于后续页面加载,快速轻松读取可能不会有多大痛苦