選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用排序索引鍵在 DynamoDB 中組織資料的最佳實務

焦點模式
使用排序索引鍵在 DynamoDB 中組織資料的最佳實務 - Amazon DynamoDB

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

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

在 Amazon DynamoDB 資料表中,唯一識別資料表中每個項目的主索引鍵可以由分割區索引鍵和排序索引鍵組成。

精心設計的排序索引鍵有兩個主要優點:

  • 它們將相關資訊集中在一個可以有效率查詢的地方。仔細設計的排序索引鍵,讓您可以透過例如 begins_withbetween>< 等運算子,使用範圍查詢來擷取經常需要的相關項目群組。

  • 透過組合排序索引鍵,可讓您在資料中定義階層式 (一對多) 關係,您可以在階層中的任何層級查詢這些關係。

    例如,在列出地理位置的表中,您可以按以下方式建構排序索引鍵。

    [country]#[region]#[state]#[county]#[city]#[neighborhood]

    這可以讓您在任何一種此彙整層級的位置列表進行有效率的範圍查詢,從 country 到一個 neighborhood,以及其之間的所有內容。

使用排序索引鍵進行版本控制

許多應用程式需要維護項目層級修訂的歷史記錄,以用於稽核或合規目的,並能輕鬆擷取最新版本。有一種有效的設計模式,是使用排序索引鍵字首來完成此操作:

  • 在每個新項目建立該項目的兩個複本:一個複本在排序索引鍵字首應有版本號的字首為零 (例如v0_),並且應有一個版本號的字首為一 (v1_)。

  • 每次更新項目時,都使用更新版本的排序索引鍵中更高版本的字首,並將更新的內容複製到版本字首為零的項目中。這代表任何項目的最新版本都可以使用零字首輕鬆定位。

例如,零件製造商可能會使用如下圖所示的結構描述。

版本控制範例顯示具有主索引鍵和資料項目屬性的資料表。

Equipment_1 項目會經過各種稽核人員的一系列稽核。每個新稽核的結果都會在資料表中的新項目中擷取,從第一號版本開始,然後遞增每個連續修訂的編號。

增加每個新修訂版本時,應用程式層會將零版本項目 (具有等於 v0_Audit 的排序索引鍵) 的內容替換為新版本的內容。

無論應用程式何時需要擷取最近的稽核狀態,都可以查詢排序索引鍵開頭的 v0_

如果應用程式需要擷取整個修訂歷史記錄,可查詢該項目分割區索引鍵下的所有項目並篩選掉 v0_ 項目。

如果您在排序索引鍵開頭之後的排序索引鍵中包括個別部分 ID,此設計也適用於跨設備多個部分的稽核。

在本頁面

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。