Quotas and limits in Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

Quotas and limits in Amazon QLDB

This section describes the current quotas, also referred to as limits, in Amazon QLDB.

Default quotas

QLDB has the following default quotas, as also listed at Amazon QLDB endpoints and quotas in the AWS General Reference. These quotas are per AWS account per Region. To request a quota increase for your account in a Region, use the Service Quotas console.

Sign in to the AWS Management Console and open the Service Quotas console at https://console.aws.amazon.com/servicequotas/.

Resource Default quota
The maximum number of active ledgers that you can create in this account in the current Region 5
The maximum number of active journal exports to Amazon S3 per ledger 2
The maximum number of active journal streams to Kinesis Data Streams per ledger 5

Fixed quotas

In addition to default quotas, QLDB has the following fixed quotas per ledger. These quotas can't be increased by using Service Quotas:

Resource Fixed quota
Number of concurrent active sessions 1500
Number of active tables 20
Number of total tables (active and inactive)
Note

In QLDB, dropped tables are considered inactive and count against this total quota.

40
Number of indexes per table 5
Number of documents in a transaction 40
Number of revisions to redact in a transaction 1
Document size (encoded in IonBinary format) 128 KB
Statement parameter size (IonBinary format) 128 KB
Statement parameter size (IonText format) 1 MB
Statement string length 100,000 characters
Transaction size 4 MB
Transaction timeout 30 seconds
Expiration period for completed journal export jobs 7 days
Expiration period for terminal journal streams 7 days

Ledger quota

To request a ledger quota increase for your account in a Region, you can use the Service Quotas console.

Open the Service Quotas console at https://console.aws.amazon.com/servicequotas/.

Some QLDB use cases require an expanding number of ledgers per AWS account per Region based on business growth. For example, you might need to create dedicated ledgers to isolate customers or data. In this case, consider leveraging a multi-account architecture to work with QLDB quotas. For more information, refer to Account Silo Isolation in the AWS whitepaper SaaS Tenant Isolation Strategies.

Document size

The maximum size for a document that is encoded in the IonBinary format is 128 KB. We can't provide an exact limit for the size of a document in IonText format because the conversion from text to binary varies significantly based on the structure of each document. QLDB supports documents with open content, so each unique document structure alters the size calculation.

Transaction size

The maximum size for a transaction in QLDB is 4 MB. The size of a transaction is calculated based on the sum of the following factors.

Deltas

The document changes that are generated by all the statements within the transaction. In a transaction that impacts several documents, the total delta size is the sum of each affected document's individual delta.

Metadata

The system-generated transaction metadata that is associated with each affected document.

Indexes

If an index is defined on a table that is affected by the transaction, the associated index entry also generates a delta.

History

Because all document revisions are persisted in QLDB, all transactions also append to the history.

Inserts – Every document inserted into a table also has a copy inserted into its history table. For example, a newly inserted 100 KB document generates a minimum of 200 KB of deltas in a transaction. (This is a rough estimate that doesn't include metadata or indexes.)

Updates – Any document update, even for a single field, creates a new revision of the entire document in history, plus or minus the delta of the update. This means that a small update in a large document would still generate a large transaction delta. For example, adding 2 KB of data in an existing 100 KB document creates a new 102 KB revision in history. This adds up to at least 104 KB of total deltas in a transaction. (Again, this estimate doesn't include metadata or indexes.)

Deletes – Similar to updates, any delete transaction creates a new document revision in the history. However, the newly created DELETE revision is smaller than the original document because it has null user data and only contains metadata.

Naming constraints

The following table describes naming constraints within Amazon QLDB.

Ledger name
  • Must only contain 1–32 alphanumeric characters or hyphens.

  • Must have a letter or number for the first and last characters.

  • Must not be all numbers.

  • Can't contain two consecutive hyphens.

  • Is case sensitive.

Journal stream name
Table name
  • Must only contain 1–128 alphanumeric characters or underscores.

  • Must have a letter or an underscore for the first character.

  • Can contain any combination of alphanumeric characters and underscores for the remaining characters.

  • Is case sensitive.

  • Must not be a QLDB PartiQL reserved word.