【问题标题】:Is it possible to create a columnfamily which contains normal column as well as super column?是否可以创建一个包含普通列和超级列的列族?
【发布时间】:2012-05-02 16:13:30
【问题描述】:

我正在寻找一个列族,我可以在其中添加超级列和普通列,如下例所示

keyspace1{
      :rowid1 AND its associated column field
      :rowid2 with a Super Column 
}

有可能吗?如果是,请建议 提前致谢

【问题讨论】:

    标签: database-design cassandra hector


    【解决方案1】:

    我知道我没有直接回答您的问题,但我认为您应该重新考虑在数据模型中使用 SuperColumns。

    我引用了 DataStax 最近(2012 年 2 月 15 日)发布的 article:

    SuperColumns 是提供上述相同类型的非规范化工具的早期尝试。它们有重要的限制(例如,从 SuperColumn 读取任何子列会将整个 SuperColumn 拉入内存)并且最终将被具有相同 API 的复合列实现所取代。因此,如果您有一个使用 SuperColumns 的应用程序,则无需重写任何内容,但如果您是从头开始,则应使用上述更灵活的方法。

    我认为值得你看看,here 可能是一个不错的起点。

    【讨论】:

    • 谢谢阿迪先生。这真的很有帮助。我希望我现在可以顺利进行。
    【解决方案2】:

    这个问题的答案是否定的,这是不可能的。您不能在一个色谱柱族中混合标准色谱柱和超级色谱柱。最好避免使用超级列,因为它会随着时间的推移而被弃用。

    不过,我最近确实看到了一篇关于 Cassandra 用户组的文章,其中指出了超级列族的一些优势。

    【讨论】:

      【解决方案3】:

      不,您不能在同一列族中混合标准列和超级列。创建柱族时,必须指定是标准柱族还是超柱族。但是,您可以通过使用复合列来达到相同的效果(推荐使用复合列而不是超级列)。

      【讨论】:

        猜你喜欢
        • 2013-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-06
        相关资源
        最近更新 更多