本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在我們深入探討資料建模之前,請務必了解一些 DynamoDB 基礎知識。DynamoDB 是索引鍵值 NoSQL 資料庫,允許彈性結構描述。除了每個項目的索引鍵屬性之外,資料屬性集可以統整在一起,也可以各自獨立。DynamoDB 索引鍵結構描述的形式可以是簡單主索引鍵,其中分割區索引鍵可唯一識別項目,也可以採用複合主鍵的形式,其中使用分割區索引鍵和排序索引鍵的組合來唯一定義項目。分割區索引鍵會經過雜湊處理,以判斷資料的實體位置並加以擷取。因此,請務必選擇高基數且可水平擴充的屬性作為分割區索引鍵,以確保資料均勻分佈。排序索引鍵屬性在索引鍵結構描述中是選用的,並且具有排序索引鍵可在 DynamoDB 中建立建模 one-to-many關係和建立項目集合。排序索引鍵也稱為範圍索引鍵,可用來排序項目集合中的項目,也能進行靈活的範圍型操作。
如需 DynamoDB 索引鍵結構描述的詳細資訊和最佳實務,可參考下列內容:
通常需要有次要索引才能在 DynamoDB 中支援其他查詢模式。次要索引是影子資料表,其中相同的資料會透過與基底資料表不同的索引鍵結構描述來組織。本機次要索引 (LSI) 與基礎資料表共用相同的分割區索引鍵,並允許使用備用排序索引鍵,以允許其共用基礎資料表的容量。全域次要索引 (GSI) 可以具有與基礎資料表不同的分割區索引鍵和不同的排序索引鍵屬性,這表示 的輸送量管理GSI與基礎資料表無關。
如需次要索引和最佳實務的進一步詳細資訊,可參考下列內容:
現在讓我們來進一步了解資料建模。在 DynamoDB 或任何 NoSQL 資料庫上設計靈活且高度最佳化的結構描述的程序,可能是一項有挑戰性的技能。本單元的目標是協助您發展心智圖,以設計讓您從使用案例進入生產環境的結構描述。我們將首先介紹任何設計 (單一資料表與多資料表設計) 的基礎選擇。接著,我們會檢閱多種設計模式 (建置區塊),這些模式可供您的應用程式用來實現各種組織性或效能結果。最後,我們會介紹適用於不同使用案例和產業的各種完整結構描述設計套件。
