Amazon Quantum Ledger Database Documentation

Amazon Quantum Ledger Database (QLDB) is a managed ledger database that is designed to provide a transparent, immutable, and cryptographically verifiable transaction log ‎owned by a central trusted authority. Amazon QLDB is designed to track each and every application data change and maintains a complete and verifiable history of changes over time. 

Immutable and Transparent

Append-only journal

Amazon QLDB has a built-in immutable journal that is designed to store an accurate and sequenced entry of every data change. The journal is append-only, meaning that data can only be added to a journal and it cannot be overwritten or deleted. Even if you delete the data from your ledger, the change history of that data can still be accessed by reading from the immutable journal.

Access to change history

With Amazon QLDB, you can access the hange history of your application’s data. You can query a summary of historical changes (e.g. list of all previous owners of a vehicle), and also specific details related to transaction history (e.g. the time of a vehicle sale and name of the new owner).

Cryptographically Verifiable

Change History Digest

Amazon QLDB uses cryptography to create a summary of your change history. This summary, commonly known as a digest, is generated using a cryptographic hash function (SHA-256). The digest acts as a proof of your data’s change history, allowing you to look back and verify the integrity of your data changes. You can use this digest with QLDB’s API to verify the integrity of a transaction. 

Serverless

Scalability

Amazon QLDB scales without the need to provision capacity or configure read and write limits. QLDB can scale up and execute up to 2-3x as many transactions as common blockchain frameworks. Blockchain frameworks are de-centralized and require peer nodes to validate a transaction before it can be stored in the ledger, impacting their performance. On the other hand, executing a transaction in QLDB is as simple as any AWS database.

Setup

With Amazon QLDB there are no servers to manage or capacity to provision. You can create a new ledger using the AWS Management Console, AWS Command Line Interface (CLI), an AWS CloudFormation template, or by making calls to the QLDB API.

Monitoring and metrics

Amazon QLDB provides Amazon CloudWatch metrics for your ledgers. With QLDB, you can view key operational metrics for your read and write IOs.

Usability

PartiQL Support

Amazon QLDB supports PartiQL, which is a new open standard query language. PartiQL supports SQL-compatible access to QLDB's document-oriented data model that includes semi-structured and nested data while remaining independent of any particular data source. With PartiQL you can query, manage, and update your data using familiar SQL operators.

Document-oriented data model

Data models define how data is processed and stored inside a database. Amazon QLDB stores data using a document-oriented data model, which is designed to provide you the flexibility to store structured and semi-structured data. QLDB’s data model also supports nested data structures, which can simplify your applications.

Transactional Consistency and ACID Semantics

When performing a database operation, Amazon QLDB is designed to provide atomicity, consistency, isolation, and durability (ACID) properties. Also, QLDB transactions have serializability. The ACID properties of transactions can help you to write correct applications. 

Streaming Capability

Amazon QLDB’s streaming capability is designed to provide a near real-time flow of any changes to your data stored in QLDB via Amazon Kinesis Data Streams. QLDB’s stream data retains the core QLDB characteristics of “complete & verifiable” data storage. This can help you to react quickly to new events (e.g., a change in account balance for a banking ledger application) and integrate with downstream services (e.g., AWS Lambda, Amazon Redshift, Amazon Elasticsearch).

Additional Information

For additional information about service controls, security features and functionalities, including, as applicable, information about storing, retrieving, modifying, restricting, and deleting data, please see https://docs.aws.amazon.com/index.html. This additional information does not form part of the Documentation for purposes of the AWS Customer Agreement available at http://aws.amazon.com/agreement, or other agreement between you and AWS governing your use of AWS’s services.