發布時間: 2021-11-22 16:41:44
數據庫分布式改造存在靈活性差、應用改造復雜等諸多問題,今天,兩位專家繼續探討,如何通過存算分離架構和高效存儲能力解決這些問題,以及存算分離后,對存儲的選擇。
為什么分布式數據庫存算分離是時代的選擇?
存算分離的架構優勢使其成為解決數據庫改造問題的鑰匙,網絡技術的發展促成了存算分離在云原生數據庫中的廣泛應用。
資深產品經理 龐毅
存算一體架構在故障恢復和搬遷時都要全量恢復數據,不僅降低了可靠性,也增加了運維工作量和成本,同時遷移擴容時間不可控,需要更多資源冗余來彌補。
首席架構師 張曉巖
是的,所以華為OceanData分布式數據庫存算解決方案,在基于存算分離架構上,利用容器的技術把整個數據庫的一層做成無狀態,真正的數據通過持久化卷的方式存到存儲,磁盤故障有存儲保障,服務器故障的時候,通過容器K8S的自動編排的技術,快速恢復數據。幾個小時的數據重構時間,縮短至分鐘級,大大提升系統效率和可靠性。
資深產品經理 龐毅
我有個客戶一個幾百G數據庫down掉之后,他花了3個小時,和5個相關的工程師去解決。因為很多的操作要手工去做,沒有辦法完全形成自動化。我知道云原生里有個“不可變基礎設施”的概念,無狀態解耦之后,數據都落在了解耦的存儲上,計算部分就可以任意的去漂移,按照AWS說法就是計算是可以停機,可以故障去修復,也可以增加或者減少實例,去應對計算資源的需求和故障遷移,但是存儲一定是要長期在線的狀態而且不能容忍降級的發生。
我需要這樣一個方案,因為交易型的數據庫它的數據規模雖然相對來講不是那么大,但是它要求性能和容量都具備一定的擴展性。
首席架構師 張曉巖
我們已經有這個方案了,華為OceanData方案采用了一種云原生的架構,通過容器和企業級存儲的結合,可以做到整個計算側是無狀態的,數據庫部署在容器里面,當數據庫算力不夠的時候,實現了算力的橫向擴展;磁盤不夠了,只需要把存儲資源擴展。
同時企業級存儲也采用了分布式架構,也是一種數控分離的架構,盤和處理單元是分開的,處理單元采用交全交叉互聯的方式,與數據盤的資源聯系在一起。當要擴性能的時候,只需要擴控制器,當容量不夠的時候,只需要擴盤。
資深產品經理 龐毅
只有可靠性,擴展性的問題解決后,才能夠放手去提升資源利用率。我們跟一些客戶去做過相關的估算,如果可靠性的問題能解決的話,那么它的計算的利用率能夠從10%提升到30%左右,成本將近節省一半,尤其是在機房和耗電能夠降低大概60~70%。
那為什么之前大家沒有去做存算分離這個事情?如果因為這個架構影響了性能的話,有點得不償失。
首席架構師 張曉巖
我們跟很多客戶聊過,他們以前也嘗試過用這種存算分離的架構,整個性能出現斷崖式的下跌,網絡是很關鍵的一環。但是隨著網絡技術的發展,隨著RoCE網絡逐漸的成熟,可以通過無損以太網,NVMe協議,遠端直接訪問存儲內存的數據,縮短整個lO路徑。我們在客戶場景實測發現,用NoF網絡相比于FC網絡,性能提升20%~30%,跟服務器的本地盤性能持平。給客戶帶來直觀感覺就是性能沒下降,但是可靠性提升了很多。
存算分離后,對存儲的選擇
近年來網絡技術追趕上了介質和接口速率,因而出現了技術拐點,在這波數據庫架構轉型中, 25GE網絡,RDMA,無損網絡,無阻塞轉發網絡大量被應用,網絡不再是瓶頸,那對于存儲的選擇呢?
資深產品經理 龐毅
當我把大量數據集中到存儲上之后,如果存儲的可靠性和存儲性能達不到要求,將會成為整個系統的瓶頸。
首席架構師 張曉巖
是的,為什么我強調我們是端到端支持 NVMe over Fabric,因為網絡雖然用了高速無損以太網RoCE網絡,但只是解決了通道的問題,如果前端還是用傳統SAS接口,無法解決問題。因此,存儲也要端到端支持NVMe ,以及提升存儲可靠性的亞健康主動檢測,磨損均衡和反磨損均衡等。通過磨損均衡和反磨損均衡防止盤批量故障,同時換盤的動作都是主動告知,主動監測。
資深產品經理 龐毅
業界這些廠家在做存算分離的時候,也是要利用存儲的一些能力來去解決問題,不管是亞健康還是磨損均衡,因為本地盤上沒有亞健康檢測,也沒有磨損均衡能力,有些客戶為保證性能,用NVMe的SSD卡,但是NVMe的SSD卡,很難在服務器上做RAID的,還有存儲層的性能隔離也很難在服務器上實現。
首席架構師 張曉巖
專業的人干專業的事。整個IT架構中也一樣,磁盤數據的管理放在存儲上去做,無論從效率還是可靠性肯定是更好的。除了剛才講的IO性能、磁盤的監測外,存儲還可以做很多事情,企業級的存儲支持快照備份,容災的能力,我們之前一些客戶用開源的工具做整個數據庫的備份,恢復1TB的數據需要幾個小時,效率很低。我們借助存儲的快照技術,可以大大提升效率。
數據庫是一個端到端的系統架構的方案,不光要考慮數據庫軟件自身,還要考慮整個集群管理,包括一些周邊的備份容災,以及整個基礎設施的選擇。所以華為構筑OceanData這樣的一個解決方案出來,把整個數據庫端到端的堆棧打通,去減少客戶在他自己在拼裝這些方案的時候遇到的這些問題??蛻舾嗟氖前研乃挤旁谒臉I務上,而不是放在怎么去搭建出一套完整的數據庫方案出來。
上一篇: 考過紅帽認證去哪查證書
下一篇: TCP/IP協議分為哪幾層