本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon 的核心概念和術語 QLDB
重要
支援結束通知:現有客戶將能夠使用 Amazon,QLDB直到 2025 年 7 月 31 日終止支援為止。有關更多詳細信息,請參閱將 Amazon QLDB 分類帳遷移到 Amazon Aurora 郵政. SQL
本節提供 Amazon 中核心概念和術語的概觀QLDB,包括分類帳結構以及分類帳管理資料的方式。當涉及到以下關鍵概念時,作為總帳數據庫,QLDB與其他面向文檔的數據庫不同。
QLDB資料物件模型
Amazon QLDB 中的基本數據對象模型描述如下:
-
分類帳
您的第一步是建立分類帳,此分類帳為中的主要 AWS 資源型態QLDB。若要瞭解如何建立分類帳,請參閱〈開始使用主控台〉步驟 1:建立新的分類帳中的〈〉或Amazon QLDB 分類帳的基本操作。
對於分類帳的
ALLOW_ALL
與STANDARD
權限模式,您可以建立 AWS Identity and Access Management (IAM) 政策,以授與對此分類帳資源執行API作業的權限。分類帳ARN格式:
arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}
-
期刊和表格
要開始在QLDB分類帳中寫入數據,首先使用基本CREATE TABLE語句創建一個表。分類帳資料包含確認至分類帳分錄的文件修訂。您可以在使用者定義表格的內容中,將文件版次確認至分類帳。在中QLDB,表格代表分錄中文件修訂集合的具體化視觀表。
在分類帳的
STANDARD
權限模式中,您必須建立IAM政策,以授與在此表格資源上執行 PartiQL 陳述式的權限。透過表格資源的權限,您可以執行存取資料表目前狀態的陳述式。您還可以使用內置history()
函數查詢表格的修訂歷史記錄。表ARN格格式:
arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}/table/${table-id}
如需授與分類帳及其相關資源之權限的詳細資訊,請參閱Amazon 如何使用 QLDB IAM。
-
文件
資料表包含的修訂版QLDB 文件,這些修訂是 Amazon Ion
struct
格式的資料集。文件版本修訂代表以唯一文件 ID 識別的一系列文件的單一版本。QLDB儲存已提交文件的完整變更記錄。表格可讓您查詢其文件的目前狀態,而
history()
函數則可讓您查詢表格文件的整個修訂歷程記錄。如需查詢和寫入修訂的詳細資訊,請參閱使用資料和歷程記錄。 -
系統目錄
每個分類帳還提供系統定義的型錄資源,您可以查詢此資源,以列出分類帳中的所有表格與索引。在分類帳的
STANDARD
權限模式中,您需要此目錄資源的權限qldb:PartiQLSelect
才能執行下列作業:目錄ARN格式:
arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}/information_schema/user_tables
日誌優先的交易
當應用程序讀取或寫入QLDB分類帳中的數據時,它會在數據庫事務中執行此操作。所有交易均受到中定義的限制Amazon 的配額和限制 QLDB。在交易中,QLDB執行下列步驟:
-
從分類帳中讀取數據的當前狀態。
-
執行交易中提供的陳述式,然後使用樂觀並行控制 (OCC) 檢查是否有任何衝突,以確保完全可序列化隔離。
-
如果沒有發現OCC衝突,請按如下方式返回交易結果:
-
對於讀取,返回結果集,並以僅附加的方式將
SELECT
語句提交到日誌。 -
對於寫入,請以僅附加的方式將任何更新、刪除或新插入的資料提交至日誌。
-
該日誌代表了對數據的所有更改的完整和不可變的歷史記錄。QLDB將一個鏈接塊寫入交易中的日誌。每個區塊都包含項目物件,這些物件代表您插入、更新和刪除的文件修訂版,以及認可它們的 PartiQL 陳述式。
下圖說明此分錄結構。
此圖表顯示交易已確認為包含文件修訂分錄的區塊。每個塊都被散列並鏈接到後續塊以進行驗證。每個塊都有一個序列號來指定其在鏈中的地址。
注意
在 Amazon 中QLDB,鏈是分類帳期刊的分區。QLDB目前僅支援具有單鏈的分錄。
若要取得有關圖塊中資料內容的資訊,請參閱〈〉Amazon 的期刊內容 QLDB。
查詢您的資料
QLDB旨在滿足高效能線上交易處理 (OLTP) 工作負載的需求。分類帳會根據確認至分錄的交易資訊,提供資料的可查詢表格檢視表。中的表格檢視QLDB是資料表中資料的子集。視圖是實時維護的,因此它們始終可供應用程序查詢。
您可以使用 PartiQL SELECT
陳述式查詢下列系統定義的檢視:
-
「用戶」— 只有您在表中寫入的數据(即用戶數据的當前狀態)的最新活動版本。這是中的預設檢視QLDB。
-
已提交 — 使用者資料和系統產生的中繼資料的最新作用中修訂版本。這是直接對應至您的使用者資料表的完整系統定義表格。
除了這些可查詢的視圖之外,您還可以使用內置歷史功能的查詢數據的修訂歷史記錄。history 函數返回您的用戶數據和相同的模式中的提交視圖相關的元數據。
資料儲存
中有兩種類型的數據存儲QLDB:
-
日誌儲存 — 分類帳日誌所使用的磁碟空間。該日誌僅附加,其中包含對數據的所有更改的完整,不可變和可驗證的歷史記錄。
-
索引儲存 — 分類帳表格、索引和索引歷史記錄所使用的磁碟空間。索引儲存包含針對高效能查詢最佳化的總帳資料。
將資料送達日誌之後,就會實現到您定義的資料表中。這些表格經過最佳化,可提供更快、更有效率的查詢 當應用程式使用交易資料讀API取資料時,會存取儲存在索引儲存體中的資料表和索引。
QLDBAPI模型
QLDB提供兩種類型APIs,您的應用程式程式碼可以與之互動:
-
Amazon QLDB-資QLDB源管理API(也稱為控制平面)。這API僅用於管理分類帳資源與非交易資料作業。您可以使用這些作業來建立、刪除、描述、列出及更新分類帳。您也可以以密碼方式驗證資料,以及匯出或串流日誌區塊。
-
Amazon QLDB 會話-交QLDB易數據API。您可以使用此API功能,在具有 PartiQL 陳述式的分類帳上執行資料交易。
重要
我們建議您不要直接與QLDB工作階段互動API,而是使用QLDB驅動程式或QLDB殼層在分類帳上執行資料交易。
-
如果您使用的是 AWS SDK,請使用QLDB驅動程式。驅動程序在 QLDBSession 數據上方提供了一個高級抽象層,API並為您管理
SendCommand
操作。如需相關資訊和支援之程式設計語言的清單,請參閱開始使用驅動程式。 -
如果您正在使用 AWS CLI,請使用QLDB命令介面。shell 是使用QLDB驅動程序與分類帳進行交互的命令行界面。如需相關資訊,請參閱使用 Amazon QLDB 外殼(API僅限數據)。
-
如需這些API作業的詳細資訊,請參閱Amazon QLDB API 參考。
後續步驟
若要瞭解如何將分類帳與資料搭配使用,請參閱在 Amazon 處理數據和歷史記錄 QLDB並遵循說明建立資料表、插入資料和執行基本查詢程序的範例。本指南使用範例資料和上下文的查詢範例,說明這些概念如何深入運作。
若要使用QLDB主控台快速開始使用範例應用程式教學課程,請參閱Amazon QLDB主控台入門。
如需本節所述的主要術語和定義清單,請參閱Amazon QLDB 詞彙。