注意:Amazon QLDB 不再支持新客户注册。有关更多详情和迁移步骤,请访问此处。
Amazon QLDB 是一个完全托管的分类账数据库,提供了一个透明、不可变、可以加密方式验证的事务日志,且该事务日志由一家可信的中央机构拥有。Amazon QLDB 可跟踪每次的应用程序数据更改,并不断维护完整且可验证的更改历史记录。
不可变且透明
Amazon QLDB 包含内置不可变日志,用于存储每个准确且已排序的数据更改条目。此日志为仅附加日志,这意味着只能将数据添加到日志中,而无法重写或删除数据。这样可确保已存储的更改历史记录无法被删除或修改。即使从分类账删除数据,仍可通过从不可变日志中读取来访问该数据的更改历史记录。
借助 Amazon QLDB,您可以访问应用程序数据的全部更改历史记录。您可以查询历史更改的摘要(例如,所有旧车主的列表),以及与交易历史记录相关的特定详细信息(例如,车辆出售时间和新车主的姓名)。
可以加密方式验证
Amazon QLDB 使用加密技术创建更改历史记录的简要摘要。此安全摘要(通常称为摘要)使用加密哈希函数 (SHA-256) 生成。该摘要可作为数据更改历史记录的证明,使您可以回顾并验证数据更改的完整性。您可以结合使用此摘要和 QLDB 的 API 来证明任意交易的完整性(例如,某个交易发生与否)。虽然 QLDB 还允许您查询和访问数据的历史记录,但可验证性对于需要特定交易相关证明的业务场景来说非常有用。例如,某个电子商务企业可能需要出示中标的证明。
无服务器
Amazon QLDB 提供无缝自动扩展功能来满足应用程序的需求,而无需预置容量或配置读取和写入限制。此外,由于 QLDB 是数据库,因此它可以提供比区块链框架更好的性能和扩展性。QLDB 可以轻松扩展,并且可以执行的事务数是通用区块链框架的 2-3 倍。区块链框架是分散式的,并且需要对等节点来验证事务,然后才可将事务存储到分类账,因而这会影响其性能。另外,在 QLDB 中执行事务与任意 AWS 数据库一样简单。
可以轻松地开始使用 Amazon QLDB,因为没有要管理的服务器或要预置的容量。您可以使用 AWS 管理控制台、AWS 命令行界面 (CLI)、一个 AWS CloudFormation 模板或通过调用 QLDB API 在数分钟内创建新的分类账。
Amazon QLDB 会提供分类账的 Amazon CloudWatch 指标。借助 QLDB,您可以查看读写 IO 的关键操作指标。
易于使用
Amazon QLDB 支持新的开放标准查询语言 PartiQL。 PartiQL 支持对 QLDB 面向文档的数据模型的 SQL 兼容访问,此模型包括半结构化和嵌套数据,同时保持独立于任何特定数据源。借助 PartiQL,您可以使用熟悉的 SQL 运算符轻松查询、管理和更新数据。
数据模型将定义数据在数据库中的处理和存储方式。Amazon QLDB 使用面向文档的数据模型存储数据,这样您就可以灵活地存储结构化和半结构化数据。此外,QLDB 的数据模型还支持嵌套的数据结构,该结构可以简化应用程序。
执行数据库操作时,Amazon QLDB 会提供原子性、一致性、隔离性和持久性 (ACID) 属性。此外,QLDB 事务具有完全可串行性 - 最高级别隔离。借助事务的 ACID 属性,可以轻松地编写正确的应用程序。例如,在银行应用程序中,当将 100 USD 从账户 A 转入账户 B 时,此操作要么完全一致地执行(从账户 A 扣除相应款项并将其记入账户 B),要么完全不执行。事务从来不会以部分和不一致的方式执行,即相应款项记入账户 B 但未从账户 A 中扣除,或者从账户 A 中扣除了相应款项但未记入账户 B 中。
Amazon QLDB 的流式传输功能可通过 Amazon Kinesis Data Streams 以近乎实时的方式传输对存储在 QLDB 中的数据的任何更改。QLDB 的流数据始终保留“完整且可验证”数据存储的 QLDB 核心特征。这使您可以快速响应新事件(例如,银行分类账应用程序的账户余额变更),并轻松与下游服务(例如,AWS Lambda、Amazon Redshift 和 Amazon OpenSearch Service)集成。