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

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

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

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

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

真相是什么?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

節(jié)點擴容

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

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

Cloud Native 文檔數據庫,極高性價比

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

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

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

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

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

HUAWEI CONNECT 2018作為華為自辦的面向ICT產業(yè)的全球性年度旗艦大會,將于2018年10月10日-12日在上海隆重舉行。屆時將首發(fā)華為AI戰(zhàn)略和全棧全場景的解決方案,并攜手合作伙伴帶來更多諸如AI、云、大數據、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

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

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

長按掃碼 閱讀全文