Azure上找不到MongoDB?不妨試試Azure Cosmos DB

來源: 云計算實戰(zhàn)
作者:Sean Yu
時間:2020-11-12
16723
Azure上目前沒有Paas層的Mongo DB可用,但仍有兩種方式使用Mongo DB

最近被問到Azure上的MongoDB在哪里?

答:Azure上目前沒有Paas層的Mongo DB可用,但仍有兩種方式使用Mongo DB,1是使用Iaas層的虛擬機構(gòu)建MongoDB集群,2.是使用更強大的Paas層的Cosmos DB。

Azure Cosmos DB是多區(qū)域分布式多模型數(shù)據(jù)庫服務(wù)。

多區(qū)域:

可以一鍵將數(shù)據(jù)復(fù)制到與Cosmos帳戶相關(guān)聯(lián)的所有區(qū)域。對于國際版本Azure,Cosmos DB目前已經(jīng)支持超過30個區(qū)域(注:Azure全球已經(jīng)有55個區(qū)域):

640 (1).png

對于中國版Azure,4個區(qū)域全部支持:

640 (2).png

多模型:

目前支持Key-Value,Column-family,Document,Graph4種模型;

640 (4).jpg

多種API:

目前支持了SQL,MongoDB,Cassandra,Table,Gremlin等多種API(還在持續(xù)增加種)。

SLA保證的低時延:

使用Cosmos DB可以生成具有高響應(yīng)能力的多區(qū)域規(guī)模應(yīng)用程序。CosmosDB可保證全中國任意位置99%的情況下讀?。ㄒ丫幦胨饕┖蛯懭胙舆t均低于10毫秒。此功能使高響應(yīng)度應(yīng)用可以實現(xiàn)持續(xù)的數(shù)據(jù)引入和超快的查詢。

640 (5).jpg

利用Cosmos DB的多區(qū)域分布式特點的典型應(yīng)用:

在多個區(qū)域部署WEB站點;

用戶通過Traffic Manager訪問到最靠近用戶的區(qū)域的站點;

創(chuàng)建Cosmos DB,并一鍵復(fù)制到全球多個區(qū)域;

各個區(qū)域的WEB站點訪問本區(qū)域或最靠近本區(qū)域的Cosmos DB;

(注)Traffic Manager請參見:

《Azure Traffic Manager-可以在全球Azure區(qū)域內(nèi)以最佳方式分發(fā)流量》

640 (6).jpg

五個一致性:

具體請參考官網(wǎng):

https://docs.azure.cn/zh-cn/cosmos-db/consistency-levels

非常一致性(Strong)

有限過期一致性(Bounded Staleness)

會話一致性(Session)

前綴一致性(Consistent Prefix)

最終一致性(Eventual)

640 (3).png

分區(qū):

AzureCosmos DB使用分區(qū)縮放數(shù)據(jù)庫中的單個容器,以滿足應(yīng)用程序的性能需求。在分區(qū)中,可將容器中的項分割成不同的子集(稱作“邏輯分區(qū)”)。邏輯分區(qū)是根據(jù)與容器中每個項關(guān)聯(lián)的分區(qū)鍵值形成的。邏輯分區(qū)中的所有項具有相同的分區(qū)鍵值。

例如,某個容器保存項。每個項具有唯一的UserID屬性值。如果UserID充當容器中的項的分區(qū)鍵,并且有1,000個唯一的UserID值,則會為容器創(chuàng)建1,000個邏輯分區(qū)。

除了用于確定項的邏輯分區(qū)的分區(qū)鍵以外,容器中的每個項還有一個項ID(在邏輯分區(qū)中保持唯一)。將分區(qū)鍵與項ID相結(jié)合可以創(chuàng)建項的索引用于唯一標識該項。

吞吐量:

AzureCosmos DB對數(shù)據(jù)庫的所有操作(增刪改等)的成本進行規(guī)范化,抽象了支持的數(shù)據(jù)庫操作所需的系統(tǒng)資源,例如CPU、IOPS和內(nèi)存,并最終以“請求單位”(縮寫為RU)表示。可將每秒RU數(shù)(RU/S)視為吞吐量的計量單位。

讀取1 KB項的成本為1個請求單位(1個RU)。以類似方式為其他所有數(shù)據(jù)庫操作分配RU成本。不管使用哪個API來與AzureCosmos容器和數(shù)據(jù)庫操作交互,都始終以RU來計量成本。無論數(shù)據(jù)庫操作是寫入、讀取還是查詢,都始終以RU來計量成本。

計費方式:

預(yù)配的吞吐量+每小時消耗的存儲的費用

預(yù)配的吞吐量可以給數(shù)據(jù)庫(database)和容器Container(collection,graph,or table)單獨預(yù)配吞吐量(throughput)。

640 (4).png

吞吐量可以預(yù)配到容器或數(shù)據(jù)庫上,但是每個容器或數(shù)據(jù)庫的最小預(yù)配量為:400RU/S。

640 (5).png

因此,使用Cosmos DB的最低成本為4*37.94,約等于152元/月。

除此,還需要增加存儲的費用:

640.webp (23).jpg

如果將數(shù)據(jù)擴展至多個區(qū)域,則需支付多個區(qū)域的總存儲成本。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于云計算實戰(zhàn),本站不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家