【已解决】Doris2.1,关于异步物化视图的一点疑问

Viewed 102

hello,你好。
我有一些关于异步物化视图的疑问,希望得到各位的解答。

  1. 异步物化视图是要求 join 的原表间不能存在 UniqueKey 模型吧?只能基于 Aggregate 和 Duplicate 模型进行 join?

  2. 我有一些含有唯一键的数据,理论上应该建 UniqueKey 模型进行处理,但 UniqueKey 模型上无法建立真正的物化视图,所以我想使用 Aggregate 模型来储存这些数据(虽然无法利用其聚合特性),再在其上建立各类物化视图,这个操作应该是没问题的吧?我想知道这样和使用 UniqueKey 模型上会有多大的性能差别或其他差异。谢谢

1 Answers
  1. 异步物化视图对原表没有模型的限制。同步物化视图有限制,unique模型只能建立前缀索引,不能使用聚合。
  2. 如果我没理解错,这个小问你的需求是在数据上创建同步物化视图?

说明一下,unique key模型上之所以不允许创建同步物化视图,是因为同步物化视图是个append only的语义。unique由于可以upsert,所以会导致数据不一致。
如果你在写入数据是可以保证key的唯一性,而且不会更新。其实你可以使用duplicate key模型。
如果你有更新的需求,那么aggregate模型+同步物化视图也不能满足你的需求。这时,你可能需要使用异步物化视图,以牺牲数据的强一致性,换取查询加速。