

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

# 使用 Amazon DocumentDB 無伺服器
<a name="docdb-serverless"></a>

Amazon DocumentDB Serverless 是一種隨需的自動擴展組態，可根據應用程式需求自動調整 Amazon DocumentDB 資料庫容量的程序。您只需支付叢集使用的資源費用。因此，DocumentDB Serverless 可協助您保持在預算內，並避免支付未使用的電腦資源。

這種類型的自動化對於具有高度可變和不可預測工作負載的環境特別有用，例如多租戶資料庫、分散式資料庫，以及開發和測試系統。

**Topics**
+ [無伺服器使用案例](#docdb-serverless-use-cases)
+ [Amazon DocumentDB 無伺服器的優點](#docdb-serverless-advantages)
+ [無伺服器的運作方式](docdb-serverless-how-it-works.md)
+ [無伺服器需求和限制](docdb-serverless-limitations.md)
+ [建立使用無伺服器 的叢集](docdb-serverless-create-cluster.md)
+ [遷移至無伺服器](docdb-serverless-migrating.md)
+ [管理無伺服器](docdb-serverless-managing.md)
+ [無伺服器執行個體限制](docdb-serverless-instance-limits.md)
+ [無伺服器擴展組態](docdb-serverless-scaling-config.md)
+ [監控無伺服器](docdb-serverless-monitoring.md)

## DocumentDB 無伺服器使用案例
<a name="docdb-serverless-use-cases"></a>

Amazon DocumentDB 佈建叢集和 DocumentDB Serverless 都支援許多類型的資料庫工作負載，從開發和測試環境，到需要大規模和可用性的最嚴苛、業務關鍵應用程式。但是 DocumentDB Serverless 為客戶工作負載新增了另一個維度，也就是支援工作負載無法預測的網站和應用程式的能力。

DocumentDB 無伺服器對於下列使用案例特別有用：
+ **可變工作負載**：您正在執行的活動突然且無法預測增加的工作負載。例如一個交通站點，在開始下雨時會看到活動突然增加。另一個是電子商務網站，當您提供銷售或特別促銷活動時，流量會增加。有了 DocumentDB 無伺服器，您的資料庫會自動擴展容量以滿足應用程式尖峰負載的需求，並在活動激增結束時縮減規模。使用 DocumentDB 無伺服器，您不再需要佈建尖峰或平均容量。您可以指定容量上限來處理最壞情況，除非需要，否則不會使用該容量。
  + DocumentDB Serverless 中的精細擴展可協助您將容量與資料庫的需求緊密匹配。對於佈建的叢集，向上擴展需要新增全新的執行個體。當只需要多一點容量時，DocumentDB 無伺服器可以新增一半的 DCU。它可以根據處理工作負載增加所需的額外容量，新增 0.5、1、1.5、2 或其他半DCUs。當工作負載減少且不再需要該容量時，它可以移除 0.5、1、1.5、2 或其他半DCUs。
+ **多租戶應用程式**：使用 DocumentDB 無伺服器，您不需要個別管理機群中每個應用程式的資料庫容量。DocumentDB Serverless 會為您管理個別資料庫容量。
  + 您可以為每個租用戶建立叢集。如此一來，您可以使用複製和快照還原等功能來增強每個租戶適用的高可用性和災難復原。
  + 根據一天中的時間、一年中的時間、促銷活動等，每個租用戶可能具有特定的繁忙和閒置時段。每個叢集都可能具有廣泛的容量範圍。如此一來，活動量低的叢集會產生最低的執行個體費用。任何叢集都可以快速擴充規模，以便處理高活動期間。
+ **新應用程式**：您正在部署新應用程式，且不確定所需的執行個體大小。透過使用 DocumentDB Serverless，您可以設定具有一或多個執行個體的叢集，並讓資料庫根據應用程式的容量需求自動擴展。
+ **混合使用應用程式** — 假設您有線上交易處理 (OLTP) 應用程式，但您定期遇到查詢流量激增的情況。透過為叢集中的 DocumentDB 無伺服器執行個體指定提升層，您可以設定叢集，讓讀取器執行個體可以獨立於寫入器執行個體進行擴展，以處理額外的負載。當用量尖峰下降時，讀取器執行個體會縮減規模以符合寫入器執行個體的容量。
+ **容量規劃** — 假設您通常會調整資料庫容量，或透過修改叢集中所有執行個體的執行個體類別，來驗證工作負載的最佳資料庫容量。使用 DocumentDB 無伺服器，您可以避免此管理開銷。您可以執行工作負載並檢查執行個體實際擴展的程度，以判斷適當的最小和最大容量。
  + 您可以將現有執行個體從佈建修改為 DocumentDB 無伺服器，或從 DocumentDB 無伺服器修改為佈建。在這種情況下，您不需要建立新的叢集或新的執行個體。
+ **開發和測試** — 除了執行最嚴苛的應用程式之外，您還可以使用 DocumentDB Serverless 進行開發和測試環境。使用 DocumentDB 無伺服器，您可以建立具有低最小容量的執行個體，而不是使用爆量 db.t\* 執行個體類別。您可以設定足夠高的最大容量，讓這些執行個體仍可執行大量工作負載，而不會在記憶體上執行不足。當資料庫未使用時，所有執行個體都會縮減規模，以避免不必要的費用。

### 針對現有的佈建工作負載使用 Amazon DocumentDB 無伺服器
<a name="docdb-serverles-provisioned-workloads"></a>

假設您已在佈建叢集上執行 DocumentDB 應用程式。您可以將一或多個 DocumentDB 無伺服器執行個體新增至現有叢集做為讀取器執行個體，以檢查應用程式如何使用 DocumentDB 無伺服器。您可以檢查讀取器執行個體擴展和縮減的頻率。您可以使用 DocumentDB 容錯移轉機制，將 DocumentDB 無伺服器執行個體提升為寫入器，並檢查其如何處理讀取/寫入工作負載。如此一來，您可以用最短的停機時間進行切換，而無需變更用戶端應用程式使用的端點。如需將現有叢集轉換為 DocumentDB 無伺服器程序的詳細資訊，請參閱 [遷移至 Amazon DocumentDB 無伺服器](docdb-serverless-migrating.md)。

## Amazon DocumentDB 無伺服器的優點
<a name="docdb-serverless-advantages"></a>

DocumentDB 無伺服器適用於變數或「尖峰」工作負載。由於這種不可預測的工作負載，您可能難以規劃何時應變更資料庫容量。使用常見的機制，例如新增執行個體或變更執行個體類別，您也可能無法快速變更容量。DocumentDB Serverless 提供下列優點，以協助處理這類使用案例：
+ **比佈建的容量管理更簡單** — DocumentDB 無伺服器可減少工作負載變更時規劃執行個體大小和調整執行個體大小的負擔。它還減少了為叢集中的所有執行個體維持一致容量的工作量。
+ **在高活動期間更快速且更輕鬆地擴展** - DocumentDB 無伺服器可視需要擴展運算和記憶體容量，而不會中斷用戶端交易或整體工作負載。除了垂直擴展之外，將讀取器執行個體與 DocumentDB 無伺服器搭配使用還可協助您利用水平擴展。使用 DocumentDB 全域叢集的功能表示您可以將 DocumentDB 無伺服器讀取工作負載分散到多個 AWS 區域。此功能比已佈建叢集的擴展機制更方便。
+ **在活動量低期間符合成本效益** — DocumentDB 無伺服器可協助您避免過度佈建執行個體。當執行個體擴展時，DocumentDB 無伺服器會以精細遞增的方式新增資源。您只需為使用的資料庫資源付費。DocumentDB 無伺服器資源用量是以每秒為單位測量。如此一來，當執行個體縮減規模時，會立即註冊減少的資源用量。
+ **已佈建的功能同位** — 您可以將所有 DocumentDB 功能與 DocumentDB 無伺服器搭配使用。例如，使用 DocumentDB 無伺服器，您可以使用讀取器執行個體、 AWS Identity and Access Management (IAM) 資料庫身分驗證和績效詳情。

  特別是，使用 DocumentDB 無伺服器時，您可以從佈建的叢集中利用下列功能：
  + **讀取器執行個體** — DocumentDB 無伺服器可以利用讀取器執行個體水平擴展。當叢集包含一或多個讀取器執行個體時，如果寫入器執行個體發生問題，叢集可能會立即容錯移轉。
  + **多可用區域叢集** — 您可以將叢集的 DocumentDB 無伺服器執行個體分散到多個可用區域 (AZs)。設定多可用區域叢集有助於確保業務持續性，即使在遇到會影響整個可用區域的極少數情況下也是如此。
  + **全域叢集** — 您可以搭配 DocumentDB 全域叢集使用 DocumentDB 無伺服器，在其他 中建立叢集的其他唯讀複本， AWS 區域 以用於災難復原目的。