QLDB中的视图(投影)

时间:2019-12-22 16:32:28

标签: view journal indexed amazon-qldb

根据QLDB文档,QLDB提供视图(投影)(例如用户,提交的视图)来查询其中的数据。这些视图是否从索引存储中提供?如果是这样,“当前”和“历史记录”部分将成为“索引存储”的一部分。然后,为什么需要将历史记录存储在索引存储(更昂贵的存储)中,因为应该从日记存储(提供了所有数据以正确且有序的录入方式存储)提供读取历史记录?

1 个答案:

答案 0 :(得分:1)

QLDB日记包含您的所有交易。它是按块地址排序的,因此第一个事务被写入块1,然后第二个事务被写入块2,依此类推。

要查找文档的历史记录,需要仔细检查每笔交易,并确定具有该ID的文档是否已被block-N修改。 QLDB日记将包含数百万个事务,因此出于性能和成本方面的原因,不希望扫描数百万个块。

索引编制正是解决扫描问题的方法,所以这就是我们这样做的原因。有一些显而易见的替代方法,例如:

  1. 不保留文档在索引存储中,而仅保留块地址
  2. 仅保留索引存储中文档的最后N个修订版本
  3. 在索引存储中仅保留一年的历史

如果您有这些或其他要求,我们很乐意听到有关它们的信息。当前的历史记录保留策略基于客户在QLDB预览期间的要求。其他政策可能是成本与性能之间的权衡。