Amazon QLDB glossary
The following are definitions for key terms that you might encounter as you work with Amazon QLDB.
block | digest | document | document ID | document revision | entry | field | index | indexed storage | journal | journal block | journal storage | journal strand | journal tip | ledger | proof | revision | session | strand | table | table view | view
- block
-
An object that is committed to the journal in a transaction. A single transaction writes one block in the journal, so a block can only be associated with one transaction. A block contains entries that represent the document revisions that were committed in the transaction, along with the PartiQL statements that committed them.
Each block also has a hash value for verification. A block hash is calculated from the entry hashes within that block combined with the hash of the previous chained block.
- digest
-
A 256-bit hash value that uniquely represents your ledger's entire history of document revisions as of a point in time. A digest hash is calculated from your journal's full hash chain as of the latest committed block in the journal at that time.
QLDB lets you generate a digest as a secure output file. Then, you can use that output file to verify the integrity of your document revisions relative to that hash.
- document
-
A set of data in Amazon Ion
struct
format that can be inserted, updated, and deleted in a table. A QLDB document can have structured, semistructured, nested, and schema-less data. - document ID
-
The universally unique identifier (UUID) that QLDB assigns to each document that you insert into a table. This ID is a 128-bit number that is represented in a Base62-encoded alphanumeric string with a fixed length of 22 characters.
- document revision
-
An Ion structure that represents a single version of a sequence of documents that are identified by a unique document ID. A revision includes both your user data (that is, the data that you wrote in the table) and system-generated metadata. Each revision is associated with a table, and is uniquely identified by a combination of the document ID and a zero-based version number.
- entry
-
An object that is contained in a block. Entries represent document revisions that are inserted, updated, and deleted in a transaction, along with the PartiQL statements that committed them.
Each entry also has a hash value for verification. An entry hash is calculated from the revision hashes or the statement hashes within that entry.
- field
-
A name-value pair that makes up each attribute of a QLDB document. The name is a symbol token, and the value is unrestricted.
- index
-
A data structure that you can create on a table to optimize the performance of data retrieval operations. For information about indexes in QLDB, see CREATE INDEX in the Amazon QLDB PartiQL reference.
- indexed storage
-
The disk space that is used by a ledger's tables, indexes, and indexed history. Indexed storage consists of ledger data that is optimized for high-performance queries.
- journal
-
The hash-chained set of all blocks that are committed in your ledger. The journal is append-only and represents a complete and immutable history of all the changes to your ledger data.
- journal block
-
See block.
- journal storage
-
The disk space that is used by a ledger's journal.
- journal strand
-
See strand.
- journal tip
-
The latest committed block in a journal at a point in time.
- ledger
-
An instance of an Amazon QLDB ledger database resource. This is the primary AWS resource type in QLDB. A ledger consists of both journal storage and indexed storage. After ledger data is committed to the journal, it's available to query in tables of Amazon Ion document revisions.
- proof
-
The ordered list of 256-bit hash values that QLDB returns for a given digest and document revision. It consists of the hashes that are required by a Merkle tree model to chain the given revision hash to the digest hash. You use a proof to verify the integrity of your revisions relative to the digest. For more information, see Data verification in Amazon QLDB.
- revision
-
See document revision.
- session
-
An object that manages information about your data transaction requests and responses to and from a ledger. An active session (one that is actively running a transaction) represents a single connection to a ledger. QLDB supports one actively running transaction per session.
- strand
-
A partition of a journal. QLDB currently supports journals with a single strand only.
- table
-
A materialized view of an unordered collection of document revisions that are committed in the ledger's journal.
- table view
-
A queryable subset of the data in a table, based on transactions committed to the journal. In a PartiQL statement, a view is denoted by a prefix qualifier (starting with
_ql_
) for a table name.You can query the following system-defined views using
SELECT
statements:-
User – The latest active revision of only the data that you wrote in the table (that is, the current state of your user data). This is the default view in QLDB.
-
Committed – The latest active revision of both your user data and the system-generated metadata. This is the full system-defined table that corresponds directly to your user table. For example:
_ql_committed_
.TableName
-
- view
-
See table view.