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

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

Amazon QLDB 文件

亞馬遜 QLDB 將數據記錄存儲為文檔,這些記錄只是插入到表中的亞馬遜離子struct對象。有關離子規格,請參閱亞馬遜離子 GitHub網站。

Ion 文件結構

像 JSON 一樣,QLDB 文檔由以下結構中的名稱-值對組成。

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

名稱是符號標記,值不受限制。每個名稱-值對稱為一個字段。字段的值可以是任何 Ion資料類型,包括容器類型:嵌套結構,列表和結構列表。

也像 JSON 一樣,astruct 由大括號({...})表示,並且 alist 由方括號([...])表示。下列範例是來自範例資料的文件,其中包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 查詢離子

分部离子类型映射

在 QLDB 中,PartiQL 擴展了 SQL 的類型系統,以涵蓋離子數據模型。此映射說明如下:

  • SQL 標量類型由它們的離子同行覆蓋。例如:

    • CHAR並且VARCHAR是映射到離子string類型的 Unicode 序列。

    • NUMBER映射到離子decimal類型。

  • Ion 的struct類型相當於 SQL 元組,它傳統上表示一個表

    • 不過,如果是開放式內容且沒有結構描述,則不支援依賴 SQL 元組排序本質的查詢 (例如的輸出順序SELECT *)。

  • 除此之外NULL,PartiQL 還有一個MISSING類型。這是一個專業化,NULL並表示缺乏一個領域。此類型是必要的,因為 Ionstruct 欄位可能很稀疏。

文件識別碼

QLDB 會將文件 ID 指派給您插入到表格中的每個文件。所有系統指派的 ID 都是通用唯一識別碼 (UUID),每個識別碼都以 Base62 編碼的字串表示 (例如3Qv67yjXEwB9SjmvkuG6Cp)。如需詳細資訊,請參閱亞馬遜 QLDB 中的唯一 ID

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

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