MongoDB 至 Cosmos DB 的移轉優點
從 MongoDB 移轉至 Cosmos DB 的優點包括延展性、全域散發和伺服器管理。
身為首席資料庫開發人員,您想要瞭解將資料庫工作負載移至 Azure 的優點。 Cosmos DB 具有在傳統內部部署檔式資料庫中找不到的獨特功能。
在此單元中,您將探索CosmosDB的功能,您可以利用此功能,同時維護與現有 MongoDB 應用程式的 API 相容性。
延展性
藉由將資料庫移轉至 Azure,您可以受益於無限制的記憶體和彈性延展性,以達到效能。 若要指定效能,您可以在容器或資料庫層級指定輸送量的要求單位(RU)。
指定容器輸送量
最常見的選項是在容器層級指定輸送量。 這可保證容器中所有邏輯分割區的輸送量一致,且輸送量是該容器的獨佔。 因為輸送量在邏輯分割區之間是統一的,如果一個分割區超過輸送量,即使其他分割區有可用的輸送量,也會受到速率限制。 這就是為什麼請務必設定數據分割索引鍵,以避免經常性分割。
指定資料庫輸送量
藉由在資料庫層級指定輸送量,輸送量會在容器之間共用。 如果容器輸送量會定期變化,但資料庫的總輸送量維持相對靜態,這非常有用。 每個容器內的輸送量仍然在邏輯分割區之間保持一致,如果一個分割區超過輸送量,即使其他分割區具有可用的輸送量,也會受到速率限制。
您可以隨時變更輸送量,容器或資料庫的最大輸送量不受限制。
如需移轉優點的詳細資訊,請參閱 將 MongoDB 移至 Azure Cosmos DB一節。
多區域
Azure Cosmos DB 可以全域散發到所有區域。 您可以找出靠近使用者的資料庫,或者,如果您有使用者的全域散發,您可以隨時新增和移除區域。 藉由將數據放在使用者附近,您可以降低延遲並改善用戶體驗。
如果您的資料庫位於單一區域中,則資料庫有一個服務等級協定 (SLA)可供 99.99% 使用,但是,如果您部署到多個區域,則受益於 99.999 的 SLA% 讀取和寫入可用性。 即使發生區域性中斷,Azure Cosmos DB 仍會自動故障轉移至另一個區域,同時維護 SLA。
區域之間的復寫會自動處理,同時維護您已定義的一致性層級。
輸送量是在資料庫或容器層級設定,而不是在區域層級設定。 因此,您在部署至的所有區域中都會有相同的輸送量。
伺服器管理
Azure Cosmos DB 是受控服務,需要最少的設定和持續作業管理。
全球分布
將數據復寫到另一個區域是一個周全事件。 您只需要指定區域,且數據會與所有數據、輸送量設定和自動設定的複寫一起複寫。
架構和索引管理
Cosmos DB 與架構無關,且會自動為所有數據編製索引。 這樣就不需要使用應用程式的架構來維護資料庫架構和索引。 這會移除相當大量的工作負載,特別是當您的資料庫全域散發時。