MongoDB 至 Cosmos DB 移轉優點

已完成

從 MongoDB 遷移至 Cosmos DB 有許多優點,包括可擴縮性、全域散發和伺服器管理。

身為潛在客戶資料庫開發人員,您想要了解將您的資料庫工作負載移至 Azure 的優點。 Cosmos DB 具有您在傳統內部部署文件型資料庫中找不到的獨特功能。

在此單元中,您將會探索可利用的 CosmosDB 功能,同時維護與現有 MongoDB 應用程式之間的 API 相容性。

延展性

藉由將您的資料庫遷移至 Azure,您可以受益於無限制的儲存體和彈性的效能可擴縮性。 若要指定效能,可以在容器或資料庫層級,指定輸送量的要求單位 (RU)。

指定容器輸送量

最常見的選項是在容器層級指定輸送量。 這可保證在容器中的所有邏輯分割區上輸送量一致是該容器專屬的。 由於輸送量在邏輯分割區之間是一致的,如果某個分割區超過輸送量,則會限制速率,即使其他分割區具有可用的輸送量也是如此。 這就是為什麼必須設定資料分割索引鍵,以避免經常性存取分割區的原因。

指定資料庫輸送量

藉由指定資料庫層級的輸送量,可以在容器之間分享輸送量。 如果容器輸送量定期變動,但是資料庫的輸送量總計保持相對靜態,則這會很有用。 每個容器內的輸送量,在邏輯分割區之間仍然維持一致,所以如果某個分割區輸送量超過,速率就會有所限制,即使其他分割區具有可用的輸送量也是如此。

您可以隨時變更輸送量,而容器或資料庫的輸送量上限則無限制。

如需有關移轉優點的詳細資訊,請參閱將 MongoDB 移至 Azure Cosmos DB 的「基本原理」一節。

多區域

Azure Cosmos DB 可以分散在全球所有區域。 您可以找到使用者附近的資料庫,或者,如果您的使用者分散在全球,則隨時都可以新增和移除不同的區域。 藉由將資料放在使用者附近,可以減少延遲並改善使用者體驗。

如果資料庫位於單一區域,有服務等級協定 (SLA) 讓資料庫在 99.99% 的時間內皆可使用。但是,如果部署至多重區域,則可享有 SLA 99.999% 的讀取和寫入可用性。 即使有某個區域的 Azure Cosmos DB 中斷,也會自動容錯移轉至另一個區域,同時保有 SLA。

區域之間的複寫會自動進行,同時可維持您所定義的一致性等級。

輸送量是資料庫或容器層級的設定,而非區域層級的設定。 因此,您會在所有要自動部署的區域中擁有相同的輸送量。

伺服器管理

Azure Cosmos DB 是受控服務,需要對設定進行最低限度的管理,才可持續作業。

全域散發

將資料複寫到另一個區域是一站式事件。 您只需指定區域,系統就會將資料複寫至該處,並自動設定所有資料、輸送量設定和複寫。

結構描述與索引管理

Cosmos DB 與結構描述無關,而且會自動為編製所有資料的索引。 這樣就不需要使用應用程式的結構描述,來維護資料庫結構描述和索引。 如此會移除大量的工作負載,特別是當您的資料庫分散在全球的時候。