業(yè)務突增負載性能難保證?華為云支招如何根除頑疾

隨著企業(yè)的發(fā)展,數(shù)據(jù)也隨之在不斷增長。這就對數(shù)據(jù)庫系統(tǒng)提出了很高的要求:既要在性能上滿足業(yè)務的需要,還要在存儲容量上滿足數(shù)據(jù)的日益增長。

作為文檔數(shù)據(jù)庫一哥,MongoDB 一直以來被開發(fā)者和企業(yè)所青睞,以具有強可擴展性和優(yōu)秀的讀寫性能著稱。但是,在長時間的使用過程中,MongoDB 擴容時性能欠缺的缺點逐漸顯現(xiàn)出來,成為企業(yè)的一塊心病。

2017年的 MongoDB 年終大會上,來自云之家的 DBA 分享了一段個人經(jīng)歷:在一次對存儲有 150T 數(shù)據(jù)的 MongoDB 數(shù)據(jù)庫擴容中,耗時接近一個月。

市場千變?nèi)f化,歷時一月的數(shù)據(jù)庫擴容,不知中途是否趕上業(yè)務高峰期,但在眼下互聯(lián)網(wǎng)業(yè)務盛行、機遇說來就來的當口,一月時間發(fā)生的變化,可能性太多。在各種小時級甚至分鐘級概念層次不窮的今天,為什么 MongoDB 的擴容,會耗時那么久呢?

真相是什么?

究其原因,MongoDB 擴容之所以需要較長時間,與其采用三副本架構有很大關系。該數(shù)據(jù)庫存儲數(shù)據(jù)使用的本地文件系統(tǒng),每一個 shard 節(jié)點之間的數(shù)據(jù)是相對獨立的。當擴容時,需將已有節(jié)點的數(shù)據(jù)同步均衡;由于數(shù)據(jù)獨立存在,所以要對數(shù)據(jù)進行網(wǎng)絡拷貝。

業(yè)務突增負載性能難保證?華為云支招如何根除頑疾MongoDB 三副本架構

也因此,MongoDB 擴容后的性能并不能立即得到提升,這在很大程度上限制了MongoDB 的使用場景范圍。

你可能會提出一個問題,網(wǎng)絡拷貝也不至于速度如此之慢吧?事實是,數(shù)據(jù)拷貝對節(jié)點資源消耗很大,出于對整體性能的考慮,MongoDB 限制了數(shù)據(jù)遷移的速度。

業(yè)務突增負載性能難保證?華為云支招如何根除頑疾MongoDB 擴容示意圖

世界總是如此,任何事物都不完美,但辦法總比問題多。因此要想從根本上解決 MongoDB 數(shù)據(jù)庫數(shù)據(jù)遷移慢的問題,就需要從架構上做調(diào)整。

正本清源:從根本上解決問題

上面提到,MongoDB 各 shard 節(jié)點之間數(shù)據(jù)是相對獨立的。那么,如果現(xiàn)在數(shù)據(jù)相對于計算節(jié)點來說并非私有,而是共享,節(jié)點擴容是否就可以省去數(shù)據(jù)遷移步驟,進而大大縮短擴容時間呢?

答案是肯定的。華為云 MongoDB 社區(qū)增強版正是這一假設的踐行者。

華為云 MongoDB 社區(qū)增強版是華為云文檔數(shù)據(jù)庫 DDS 推出Cloud Native 文檔數(shù)據(jù)庫服務。完全兼容 MongoDB 協(xié)議,使用計算儲存分離架構,在讀寫、擴容能力、備份恢復性能、故障容忍等方面對比 MongoDB 社區(qū)版有質(zhì)的突破。

華為云 MongoDB 社區(qū)增強版打破現(xiàn)有架構約束,將 MongoDB 數(shù)據(jù)庫節(jié)點無狀態(tài)化,去掉數(shù)據(jù)強歸屬于某一計算節(jié)點的限制,將計算和存儲相分離,數(shù)據(jù)可靠性交由底層共享存儲系統(tǒng)來保證,從根本上解決了數(shù)據(jù)遷移慢的問題。

業(yè)務突增負載性能難保證?華為云支招如何根除頑疾傳統(tǒng) MongoDB 架構 & 華為云 MongoDB 社區(qū)增強版架構

計算節(jié)點無狀態(tài)化

由于計算和存儲的分離,副本集不再需要,華為云 MongoDB 社區(qū)增強版將 Shard 副本集替換為單節(jié)點 Shard,單節(jié)點 Shard 在運行中并不保存和命令請求相關的信息,每次命令請求都和以前沒有任何關系,命令執(zhí)行完成,返回結果后,沒有任何痕跡。這樣以來,可以很方便的被替換掉(或集群、橫向擴展)而不用狀態(tài)重建(或同步)。

節(jié)點擴容

華為云 MongoDB 社區(qū)增強版在擴容時,將拉起一個新的單節(jié)點 Shard 添加到集群,由于數(shù)據(jù)是共享的,只需要在邏輯層面設置被接管數(shù)據(jù)的路徑即可,新節(jié)點在指定的路徑下加載完對應數(shù)據(jù)后,就能對外提供服務,整個過程可以在分鐘級完成,同等條件下擴容性能提升了百倍以上,可以輕松應對業(yè)務突增帶來的負載性能問題。

業(yè)務突增負載性能難保證?華為云支招如何根除頑疾華為云 MongoDB 社區(qū)增強版擴容示意圖

Cloud Native 文檔數(shù)據(jù)庫,極高性價比

華為云 MongoDB 社區(qū)增強版的架構升級,包括了計算(分片)、存儲(分布式存儲池)分離、每個計算節(jié)點(分片)互為主備關系、允許 N-1 個計算節(jié)點(分片)故障、集群高效平緩的橫向擴展、更有利磁盤擴容的分布式存儲池等特點,在同等成本下,數(shù)據(jù)庫整體性能和可用性都得到大幅提升。

業(yè)務突增負載性能難保證?華為云支招如何根除頑疾

在該架構下,華為云 MongoDB 社區(qū)增強版相較社區(qū)版的彈性擴容能力提升了 100 倍故障重構能力和備份恢復性能提升10倍、讀寫性能提升 300%!

了解華為云 MongoDB 社區(qū)增強版更多信息,請移步官網(wǎng):

https://activity.huaweicloud.com/dfv_mongo/index.html

HUAWEI CONNECT 2018作為華為自辦的面向ICT產(chǎn)業(yè)的全球性年度旗艦大會,將于2018年10月10日-12日在上海隆重舉行。屆時將首發(fā)華為AI戰(zhàn)略和全棧全場景的解決方案,并攜手合作伙伴帶來更多諸如AI、云、大數(shù)據(jù)、5G、IoT、視頻等優(yōu)勢技術在各行業(yè)的創(chuàng)新與實踐,惠及更多開發(fā)者人群,“+智能,見未來”,讓我們拭目以待。

欲了解更多詳情,請參閱:https://www.huawei.com/cn/press-events/events/huaweiconnect2018?ic_medium=hwdc&ic_source=corp_banner_allwayson&source=corp_banner

極客網(wǎng)企業(yè)會員

免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權或存在不實內(nèi)容時,應及時向本網(wǎng)站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內(nèi)容或斷開相關鏈接。

2018-08-20
業(yè)務突增負載性能難保證?華為云支招如何根除頑疾
隨著企業(yè)的發(fā)展,數(shù)據(jù)也隨之在不斷增長。這就對數(shù)據(jù)庫系統(tǒng)提出了很高的要求:既要在性能上滿足業(yè)務的需要,還要在存儲容量上滿足數(shù)據(jù)的日益增長。

長按掃碼 閱讀全文