From relational to ledger
Important
End of support notice: Existing customers will be able to use Amazon QLDB until end of support on 07/31/2025. For more details, see
Migrate an Amazon QLDB Ledger to Amazon Aurora PostgreSQL
If you're an application developer, you might have some experience using a relational database management system (RDBMS) and Structured Query Language (SQL). As you begin working with Amazon QLDB, you will encounter many similarities. As you progress to more advanced topics, you will also encounter powerful new features that QLDB has built on the RDBMS foundation. This section describes common database components and operations, comparing and contrasting them with their equivalents in QLDB.
The following diagram shows the mapping constructs of the core components between a traditional RDBMS and Amazon QLDB.
![Diagram of core components of traditional RDBMS (database, table, index, row, column, etc.) mapping to corresponding QLDB components (ledger, table, index, Ion document, doc attribute, etc).](/images/qldb/latest/developerguide/images/rdbms-mapping.png)
The following table shows the primary high-level similarities and differences of built-in operational features between a traditional RDBMS and QLDB.
Operation | RDBMS | QLDB |
---|---|---|
Creating tables | CREATE TABLE statement that defines all column names and
data types |
CREATE TABLE statement that doesn't define any table
attributes or data types to allow schemaless and open content |
Creating indexes | CREATE INDEX statement |
CREATE INDEX statement for any top-level fields on a
table |
Inserting data | INSERT statement that specifies values within a new row
or tuple that adheres to the schema as defined by the table |
INSERT statement that specifies values within a new
document in any valid Amazon Ion format regardless of the existing
documents in the table |
Querying data | SELECT-FROM-WHERE statement |
SELECT-FROM-WHERE statement in the same syntax as SQL
when querying flat documents |
Updating data | UPDATE-SET-WHERE statement |
UPDATE-SET-WHERE statement in the same syntax as SQL
when updating flat documents |
Deleting data | DELETE-FROM-WHERE statement |
DELETE-FROM-WHERE statement in the same syntax as SQL
when deleting flat documents |
Nested and semistructured data | Flat rows or tuples only | Documents that can have any structured, semistructured, or nested data as supported by the Amazon Ion data format and the PartiQL query language |
Querying metadata | No built-in metadata | SELECT statement that queries from the built-in
committed view of a table |
Querying revision history | No built-in data history | SELECT statement that queries from the built-in history
function |
Cryptographic verification | No built-in cryptography or immutability | APIs that return a digest of a journal and a proof that verifies the integrity of any document revision relative to that digest |
For an overview of the core concepts and terminology in QLDB, see Core concepts.
For detailed information about the process of creating, querying, and managing your data in a ledger, see Working with data and history.