我正在查看 AWS QLDB 服务来存储对我们的应用程序所做的更改的审计跟踪历史记录,以便它可以是不可变的。
但是,最终它是一个数据库,我们不能只是继续添加数据(存储如此大量的数据是昂贵的)。
在某个时间点,我们将需要滚动/存档现有数据并重新开始一切。
想知道 AWS QLDB 将如何处理此类场景?
PS 我是 AWS QLDB 的新手。
我正在查看 AWS QLDB 服务来存储对我们的应用程序所做的更改的审计跟踪历史记录,以便它可以是不可变的。
但是,最终它是一个数据库,我们不能只是继续添加数据(存储如此大量的数据是昂贵的)。
在某个时间点,我们将需要滚动/存档现有数据并重新开始一切。
想知道 AWS QLDB 将如何处理此类场景?
PS 我是 AWS QLDB 的新手。
因为每个企业都对可以存储的历史数量有限制
我认为这种说法过于宽泛。
有些商业案例需要能够无限期地记录历史事件(或无限期地,出于所有实际目的),因为要么数据仍然相关,要么因为不保留整个历史,就无法最终证明当前状态数据库应该是……这就是 QLDB 的目的 - 维护无法意外或故意修改或删除的历史记录。
使用 QLDB,您的数据更改历史记录是不可变的——它不能被更改或删除——并且使用加密技术,您可以轻松地验证您的应用程序数据没有被意外修改。
每笔交易都建立在它之前的交易之上。过于简单化,它看起来像这样:
hash(t1) = SHA256(t1)
hash(t2) = SHA256(t2 + hash(t1))
hash(t3) = SHA256(t3 + hash(t2))
...
这些哈希值也被存储,因此每笔交易都可以根据其前身进行加密验证,一直追溯到时间的开始。删除旧记录会删除验证新记录所需的信息。
您计划清除历史数据的用例似乎是不正确的 QLDB 应用程序。
在 AWS Docs 中提到:
Amazon QLDB 是一个完全托管的分类帐数据库,它提供由中央可信机构拥有的透明、不可变和可加密验证的事务日志。Amazon QLDB 跟踪每个应用程序数据更改,并随着时间的推移维护完整且可验证的更改历史记录。QLDB 易于使用,因为它为开发人员提供了熟悉的类似 SQL 的 API、灵活的文档数据模型以及对事务的全面支持。QLDB 也是无服务器的,因此它会自动扩展以支持您的应用程序的需求。无需管理服务器,也无需配置读取或写入限制。使用 QLDB,您只需为使用的内容付费。
如需更多参考,您可以参考此链接:
https
://aws.amazon.com/qldb/谢谢