【问题标题】:Cassandra - combining multiple tables as a viewCassandra - 将多个表组合为一个视图
【发布时间】:2020-11-26 07:42:12
【问题描述】:

我在 Cassandra 有 20 张桌子。对于一个特定的请求,我需要来自所有 20 个表的数据。我怎样才能做到这一点?我可以在 Cassandra 中使用物化视图吗?

或者我应该使用 Cassandra 触发器并在 20 个表中的任何一个发生变化时在不同的表中创建一个条目?

或者有没有更好的办法?

【问题讨论】:

    标签: cassandra triggers cassandra-3.0 materialized-views


    【解决方案1】:

    Cassandra 中的物化视图只是根据单个表的数据维护一个新表,因此您不能将此功能用于您的目的。触发器也不是为此类工作而设计的。

    所以对您来说,唯一的选择是对多个表执行多个请求(慢),或者维护一个单独的表,其中包含回答此查询所需的所有数据 - 这是 Cassandra 中推荐的方式,因为所有表结构基于查询。

    我建议在DataStax Academy上参加 DS220 数据建模课程

    【讨论】:

    • 感谢@Alex Ott 的快速回复。实际上,我已经有一个应用程序,它正在对 Cassandra 进行多个异步和并发调用。因为这些是异步和并发调用,所以所有 Cassandra 调用平均需要 10 毫秒到 20 毫秒。每次发生任何变化或添加这 20 个表并迁移其中的旧数据时,是否仍然值得努力维护单独的表并进行同步?这就是为什么我在想,如果我们在 Cassandra 中有一些东西可以让这件事对我来说更简单,而无需更改我的代码。
    • 感谢 DS220 的推荐。课程很棒!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多