【问题标题】:How to perform an update in Cassandra across tables?如何在 Cassandra 中跨表执行更新?
【发布时间】:2014-02-13 17:18:16
【问题描述】:

您如何处理 Cassandra 中的架构更改? 说我有

table users (u_uuid, first name)

table videos(v_uuid, name)

还有

table users_videos (uuid, u_uuid, first name, v_uuid, name)

。 6 个月后,我决定用我拥有的关于用户“姓氏”的新数据来更改架构。完成 ALTER 后,如何更新所有表(用户和 users_videos)以添加姓氏数据?如何一致地加载每个表中的数据? 换句话说,鉴于您无法加入数据,您如何处理大量更新?

谢谢, 马特

【问题讨论】:

    标签: join nosql cassandra updatemodel


    【解决方案1】:

    使用 CQL,您可以使用 BATCH statement 原子地执行多个更新/插入:

    BEGIN BATCH
      UPDATE...
      UPDATE...
      UPDATE...
      ...
    APPLY BATCH
    

    如果您尝试一次操作大量行,您可能需要查看Cassandra bulk loader

    【讨论】:

    • 所以Batch可以用来在同一个Batch中插入/更新不同的表?
    猜你喜欢
    • 2015-10-22
    • 2016-03-25
    • 2016-06-03
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    • 2022-07-22
    相关资源
    最近更新 更多