【问题标题】:Cassandra data model to store 1.000.000 photos存储 1.000.000 张照片的 Cassandra 数据模型
【发布时间】:2012-04-17 05:40:13
【问题描述】:

这是有经验的 Cassandra 用户的问题。我想在 Cassandra 中存储照片。数据结构很简单:

UUID : photo_id;
String: filename;
String authorname;

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

问候

汤姆

【问题讨论】:

    标签: cassandra photos datamodel


    【解决方案1】:

    如果您计划始终按 photo_id 查找照片,则本质上应将其视为键值存储,其中 photo_id 作为键,图像作为列值。元数据(文件名、作者名)可以存储在同一行中的其他列中,如果您通常需要与图像同时使用这些列。

    如果您的图片非常大,请考虑将它们分成 1mb 到 10mb 的块,每块一列,这样您就不必一次全部获取它们。

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

    不清楚您所说的“快速迭代”是什么意思,但是如果您打算扫描整个 1m 图像数据集,您可以使用我描述的第一个 CF by using get_range_slices 轻松完成。

    【讨论】:

    • 非常感谢泰勒!欣赏:)
    • @tomekkup 不客气!不要忘记,在 StackOverflow 上,您可以接受答案,以便其他人可以看到问题已得到解答。
    猜你喜欢
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 2022-12-01
    • 2017-05-13
    • 2013-02-06
    • 2013-11-18
    相关资源
    最近更新 更多