

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

# 最佳實務
<a name="best-practices"></a>

本節摘要說明除了先前章節討論的最佳實務之外的建議 （例如，使用索引、單一資料表設計和交易，在 Amazon S3 中存放大於 400 KB 的項目）。

## 使用物件持久性存取模式
<a name="use-obj-persistance"></a>

如本指南先前所述，Amazon DynamoDB 提供三種存取模式。[物件持久性界面](access-patterns.md#object-persistence-interface)提供乾淨且easy-to-maintain程式碼。除非您必須在讀取/寫入操作期間自訂或轉換模型屬性值，否則建議您使用物件持久性界面。

## 選擇正確的容量佈建模式
<a name="choose-capacity-mode"></a>

隨著工作負載的增加和減少，隨需容量佈建會自動擴展讀取和寫入操作。如果您的工作負載無法預測，建議您使用此模式。成本通常高於佈建的容量模式，並按pay-as-you-use方式收費。當您的工作負載可預測，而且您可以預測容量需求時，建議您使用佈建容量模式。如需詳細資訊，請參閱本指南前面的[定價模型](overview.md#features-pricing)一節。

## 使用快取
<a name="use-caching"></a>

建議您在使用 DynamoDB 時使用快取，以降低與每個讀取/寫入操作相關的成本。快取資料過時時，請使用適當的失效邏輯從快取中移除項目。識別最常使用的端點以實作快取。

## 使用查詢而非掃描
<a name="use-queries"></a>

盡可能避免 DynamoDB 掃描。DynamoDB 查詢比掃描操作更有效率且成本更低。查詢會根據分割區索引鍵 (PK) 和排序索引鍵 (SK) 值篩選項目，而掃描必須讀取所有記錄，才能根據指定的參數篩選項目。DynamoDB 定價是以資料讀取/寫入操作的數量為基礎，因此掃描的成本高於查詢。查詢速度也更快，最終可改善應用程式的效能。

## 驗證資料完整性
<a name="validate-data-integrity"></a>

DynamoDB 是 NoSQL 資料庫，因此不會維護關係資料或包含資料完整性限制。它要求每個項目只有一個主索引鍵和排序索引鍵的唯一組合。為了確保 DynamoDB 資料表中相關項目之間的資料完整性，建議您在系統的應用程式或業務層中執行嚴格的驗證。