2012-04-03 46 views
1

这是一个有经验的卡桑德拉用户的问题。我想将照片存储在卡桑德拉。数据结构非常简单:卡桑德拉数据模型存储1.000.000照片

UUID : photo_id; 
String: filename; 
String authorname; 

如何将这些数据存储在卡桑德拉?使用photoId作为CF密钥或将所有照片存储为其中photoid是列名的列?我需要快速迭代,并且不需要快速访问f.e.作者姓名。

问候

汤姆

回答

1

如果您计划总是通过photo_id查找照片,你应该基本上是把它当作与photo_id为关键和图像作为一个列值的键值存储。如果您通常需要与图像同时使用这些元数据(文件名,authorname),则可以将其存储在同一行的其他列中。

如果您的图片非常大,请考虑将它们分成1mb至10mb的作品,每个作品一列,以便您不必一次抓取所有作品。

如果您还需要偶尔通过authorname进行查找,请使用第二个CF作为索引,其中行键为authorname,列为photo_id。然后,您可以通过photo_id从第一个CF中获取实际图像。

目前尚不清楚“快速迭代”的含义,但如果您打算扫描整个1米图像数据集,则可以使用描述by using get_range_slices的第一个CF来轻松完成此操作。

+0

非常感谢泰勒!感谢:) – tomekkup 2012-04-07 16:56:06

+0

@tomekkup不客气!不要忘记,在StackOverflow上,您可以接受答案,以便其他人可以看到问题已得到解答。 – 2012-04-09 15:16:49

+0

肯定嘛!谢谢 – tomekkup 2012-04-12 11:21:02