首页 文章

物化视图或批量语句

提问于
浏览
0

今天我参加了柏林真正令人敬畏的 Cassandra 日,并且像我希望的那样,对物化观点进行了一些小介绍 . 谈话结束后,我问帕特里克他喜欢什么,他回答“批量陈述” - 原因是:数据的一致性 . 在批处理之后,数据肯定是写的 .

我的用例是 . 我有一个p.e.用户表(Key:userId),但我创建索引表 - 寻找电子邮件,国家,等.pp .

在我的应用程序中,我需要处理所有这些“索引表”,它可能会发生,有人忘了可能删除其中一个“索引”中的一行 - 之后...你疯了:)

我希望,物化观点可以提供帮助 . 我有用户表并创建多个物化视图,cassandra负责“同步” .

那么,我的问题是:您如何看待物化视图或批量语句?有另外一个这样的好处吗?

谢谢马塞尔

2 回答

  • 0

    您需要了解物化视图的所有权衡,视图的一致性保证比基表更弱 . 阅读我的文章:http://www.doanduyhai.com/blog/?p=1930

  • 1

    已创建物化视图,以便更轻松地处理需要许多查找表的用例 . 在引擎盖下,批处理用于将更改应用于副本,因此使用MV也意味着使用批处理 . 不同之处在于您不必自己处理批量创建 . 这不仅方便,而且还可以防止在需要更新大量索引表时可能发生的简单编程错误 .

    首先,使用批处理手动更新索引表而不是仅使用MV更新基表可能看起来没什么大不了的 . 但随着您的应用程序变得越来越大,表和所需批次的数量开始增长,引入架构更改将变得更加困难 . 您确实需要跟踪更新数据的位置以及要更改的批次 . 使用MV,对基表的所有更改都将自动传播到索引表 . 您也可以稍后在基表的顶部添加新视图,而不必像仅使用批处理那样手动填充索引表 .

    回到你的问题,我会说是的,物化的观点确实对批次有好处 .

相关问题