用于存储1.000.000张照片的Cassandra数据模型

用于存储1.000.000张照片的Cassandra数据模型,cassandra,photos,datamodel,Cassandra,Photos,Datamodel,对于有经验的Cassandra用户来说,这是一个问题。我想把照片储存在卡桑德拉。数据结构非常简单: UUID : photo_id; String: filename; String authorname; 如何将这些数据存储在Cassandra中?使用photoId作为CF键或将所有照片存储为列,其中photoId是列名?我需要快速迭代,不需要快速访问f.e.作者姓名 问候 Tom如果您计划始终按照片id查找照片,则基本上应将其视为一个键值存储,其中照片id为键,图像为列值。元数据(file

对于有经验的Cassandra用户来说,这是一个问题。我想把照片储存在卡桑德拉。数据结构非常简单:

UUID : photo_id;
String: filename;
String authorname;
如何将这些数据存储在Cassandra中?使用photoId作为CF键或将所有照片存储为列,其中photoId是列名?我需要快速迭代,不需要快速访问f.e.作者姓名

问候


Tom

如果您计划始终按照片id查找照片,则基本上应将其视为一个键值存储,其中照片id为键,图像为列值。元数据(filename,authorname)可以存储在同一行中的其他列中,如果您通常与图像同时需要这些列的话

如果你的图片非常大,考虑将它们分为1MB到10MB,每列一列,这样你就不必同时把它们全部取出来。 如果还需要偶尔按authorname进行查找,请使用第二个CF作为索引,其中行键为authorname,列为photo_id。然后,您可以通过photo_id从第一个CF获取实际图像


不清楚“快速迭代”是什么意思,但如果您计划扫描整个1m图像数据集,使用我描述的第一个CF,您可以非常轻松地做到这一点。

如果您计划始终按照片id查找照片,您应该将其视为一个键值存储,照片id作为键,图像作为列值。元数据(filename,authorname)可以存储在同一行中的其他列中,如果您通常与图像同时需要这些列的话

如果你的图片非常大,考虑将它们分为1MB到10MB,每列一列,这样你就不必同时把它们全部取出来。 如果还需要偶尔按authorname进行查找,请使用第二个CF作为索引,其中行键为authorname,列为photo_id。然后,您可以通过photo_id从第一个CF获取实际图像


不清楚“快速迭代”是什么意思,但如果您计划扫描整个1m图像数据集,使用我描述的第一个CF,您可以非常轻松地做到这一点。

非常感谢Tyler!!感谢:)@tomekkup不客气!别忘了在StackOverflow上,你可以接受答案,这样其他人就可以看到问题已经得到了回答。非常感谢Tyler!!感谢:)@tomekkup不客气!不要忘记,在StackOverflow上,您可以接受答案,这样其他人就可以看到问题已经得到了回答。