Amazon QLDB 文件 - Amazon Quantum Ledger Database (Amazon QLDB)

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon QLDB 文件

重要

支援終止通知:現有客戶將可以使用 Amazon QLDB,直到 07/31/2025 的支援結束為止。如需詳細資訊,請參閱將 Amazon QLDB Ledger 遷移至 Amazon Aurora PostgreSQL

Amazon QLDB 將資料記錄儲存為文件,而這些文件只是插入資料表的 Amazon Ion struct 物件。如需 Ion 規格,請參閱 Amazon Ion GitHub 網站。

Ion 文件結構

如同 JSON,QLDB 文件由下列結構中的名稱值對組成。

{ name1: value1, name2: value2, name3: value3, ... nameN: valueN }

名稱是符號字符,值不受限制。每個名稱/值對稱為欄位。欄位的值可以是任何 Ion 資料類型,包括容器類型:巢狀結構、清單和結構清單。

與 JSON 一樣,a 以大括號struct表示 ({...}),而 a list 以方形括號表示 ( [...] )。下列範例是 中範例資料的文件Amazon QLDB 主控台入門,其中包含各種類型的值。

{ VIN: "1N4AL11D75C109151", LicensePlateNumber: "LEWISR261LL", State: "WA", City: "Seattle", PendingPenaltyTicketAmount: 90.25, ValidFrom: 2017-08-21T, ValidTo: 2020-05-11T, Owners: { PrimaryOwner: { PersonId: "294jJ3YUoH1IEEm8GSabOs" }, SecondaryOwners: [{ PersonId: "5Ufgdlnj06gF5CWcOIu64s" }] } }
重要

在 Ion 中,雙引號表示字串值,而未引號表示欄位名稱。但是在 PartiQL 中,單引號同時代表字串和欄位名稱。

此語法的差異可讓 PartiQL 查詢語言維持 SQL 相容性,而 Amazon Ion 資料格式則可維持 JSON 相容性。如需 QLDB 中 PartiQL 語法和語義的詳細資訊,請參閱 使用 PartiQL 查詢 Ion

PartiQL-Ion 類型映射

在 QLDB 中,PartiQL 擴展 SQL 的類型系統,以涵蓋 Ion 資料模型。此映射的說明如下:

  • SQL 純量類型由其 Ion 對應項目涵蓋。例如:

    • CHARVARCHAR是映射到 Ion string類型的 Unicode 序列。

    • NUMBER 會映射到 Ion decimal類型。

  • Ion 的struct類型相當於 SQL 元組,傳統上代表資料表資料列

    • 不過,在開啟內容且沒有結構描述的情況下,不支援依賴 SQL 元組排序性質的查詢 (例如 的輸出順序SELECT *)。

  • 除了 之外NULL,PartiQL 還有 MISSING類型。這是 的專門領域NULL,表示缺少欄位。此類型是必要的,因為 Ion struct 欄位可能很稀疏。

文件 ID

QLDB 會將文件 ID 指派給您插入資料表的每個文件。所有系統指派IDs 都是通用的唯一識別符 (UUID),每個識別符都以 Base62-encoded字串表示 (例如 3Qv67yjXEwB9SjmvkuG6Cp)。如需詳細資訊,請參閱Amazon QLDB 中的唯一 IDs

每個文件修訂版本都是由文件 ID 和零基版本編號的組合唯一識別。

文件 ID 和版本欄位包含在文件的中繼資料中,您可以在遞交檢視 (資料表的系統定義檢視) 中查詢。如需 QLDB 中檢視的詳細資訊,請參閱核心概念。若要進一步了解中繼資料,請參閱 查詢文件中繼資料