墨天輪訪談 | 百度雲邱學達:GaiaDB如何解決雲上場景的業務需求?

来源:https://www.cnblogs.com/modb/archive/2022/05/09/16249704.html
-Advertisement-
Play Games

業務上雲的大背景對彈性與可靠性的要求越來越高,傳統架構的單機資料庫或是分片資料庫已經很難支撐快速增長的業務,如何解決這些痛點呢?一起來聽聽百度雲原生資料庫資深技術專家邱學達怎麼說。 ...


分享嘉賓:邱學達
百度雲原生資料庫資深技術專家
整理墨天輪社區

導讀

業務上雲的大背景對彈性與可靠性的要求越來越高,傳統架構的單機資料庫或是分片資料庫已經很難支撐快速增長的業務,導致單機瓶頸、擴容縮量、故障恢復慢、相容性、資源利用率低等一系列的問題顯現,同時單機時代資料庫的的缺點會在雲上高倍率放大。

基於這些痛點,墨天輪技術社區邀請到來自百度雲資料庫資深技術專家,擁有多年資料庫與分散式存儲開發經驗的嘉賓邱學達,為大家帶來【GaiaDB架構解析及互聯網應用案例】的主題分享,談談雲原生資料庫GaiaDB如何解決雲上場景的業務需求。

GaiaDB是什麼?

1、 GaiaDB 的核心特性

GaiaDB是百度自研的新一代企業級雲原生資料庫,採用領先的存算分離架構設計,真正實現按需、極致彈性擴展能力,最大容量可擴展128TB以上,吞吐達到150+萬 QPS ,成本僅商業數據的 1/10。

作為設計之初的核心理念,GaiaDB能夠完全相容開源生態,同時GaiaDB還擁有易擴展、易維護、強一致、多地域的核心特性。


圖1 GaiaDB的核心特性介紹

2、 GaiaDB 的設計架構

GaiaDB的設計架構從上至下分別是接入層、計算層、存儲層,接入層負責連接池,負載均衡基礎的功能,包括ip的黑白名單;計算層使用傳統的易主多重架構,讀寫邏輯包括ACID,完全相容MySQL生態;存儲層負責熱數據也就是wal日誌高可用、高可靠,以及數據頁的高可用高可靠。

GaiaDB特性得以實現的核心是存算分離的技術,即通過對傳統資料庫的改造,把計算層和存儲層分為了兩個層級,這樣就能夠解決兩層分別彈性、分別結偶,分別高可用,從而打破了傳統單機計算存儲的匹配不均,以及比例不等的痛點

不僅如此,GaiaDB能夠幫助主庫在同等的計算資源中取得更高的性能。傳統的架構下中主庫負載高,而在新的架構下,主庫只需要把WAL日誌寫到存儲層的log series集群中,當高可靠的log series集群存儲下來之後,主庫就可以返回並提交事務,從而將數據頁回放,日誌的高可用,高可靠留給存儲層結構來做,這樣便大大降低了主庫以及CPU記憶體的這種負載壓力。


圖2 GaiaDB的高可用架構示意

3、GaiaDB 優勢

首先GaiaDB能夠全方位、100%相容MySQL,做到SQL語法相容、協議相容、工具生態相容、其他特性相容。


圖3 GaiaDB優勢:相容並包

GaiaDB的極致彈性表現在計算層彈性與存儲層彈性,計算節點橫向與縱向彈性,耗時小於30s,同時擴容過程對業務透明。其次存儲層彈性能夠實現按需分配,提高共用存儲池的利用率,同時支持接入各類冷熱介質/分層存儲,介質隻影響讀延遲。


圖4 GaiaDB優勢:極致彈性

GaiaDB第三個優勢是備份恢復,在並行備份與恢復時,百TB備份耗時小於1h。GaiaDB支持邏輯備份、物理備份、同時支持AWS S3介面。

GaiaDB第四個優勢是數據強一致,實現秒級故障恢復。架構每一層都實現高可用、高可靠。
主庫不負責數據的持久化,因此故障不影響數據的完整性,大大降低了數據恢復的時間,降低風險。


圖5 GaiaDB優勢:數據強一致

互聯網業務下要求多地多活,當單地出現故障時能夠快速恢復業務。GaiaDB提供的IDC容災部署架構能夠支持異地熱活,同時能夠輕鬆實現故障切換,保證業務的順利進行。


圖6 GaiaDB IDC容災部署架構

最後,GaiaDB提供運維管理與集群監控的功能。在運維管理中,提供可視化與命令行的運維管理方式,包括集群創建、啟停、庫表管理、備份管理、空間分析和節點拓撲等。同時GaiaDB採用了開源的Prometheus+Grafana作為監控方案,實現計算節點、LS、PS等節點的多指標監控。


圖7 GaiaDB提供運維管理&集群監控

作為一款雲原生資料庫,GaiaDB採用存儲和計算分離的架構,所有計算節點共用一份數據,提供分鐘級的配置升降級、秒級的故障恢復、全局數據一致性和數據備份容災服務,既融合了商業資料庫穩定可靠、高性能、可擴展的特征,又具有開源雲資料庫簡單開放、自我迭代的優勢。

GaiaDB 應用場景

GaiaDB組作為百度智能雲自研的雲原生關係型資料庫,可以100%相容MySQL語法,存儲容量最高可達128TB,單庫最多可擴展到16個節點,適用於大容量、高性能、高彈行的應用場景,接下來我們來看兩個典型的應用場景。

1、場景一:大容量+低成本存儲

隨著業務的不斷發展,傳統資料庫架構會遇到存儲和性能的雙重瓶頸,無法支撐業務幾十TB的高性能訪問。GaiaDB採用計算和存儲分離的架構,實現了大容量與低成本存儲的需求。通過綜合測算,GaiaDB成本只有傳統架構的10%-50%

2、場景二:爆款產品極速上線

爆款產品往往帶來幾天百倍流量與數據量尖峰,而傳統資料庫無法快速的應對這種場景,拆庫拆表會極大拖慢業務迭代節奏。
GaiaDB提供了極致的彈性能力,實現秒級擴縮容,輕鬆應對流量浪涌

GaiaDB既融合了商業資料庫穩定可靠、高性能、可擴展的特征,又具有開源雲資料庫簡單開放、自我迭代的優勢,解決雲上業務的需求,相信GaiaDB是很好的選擇。

我今天的分享就到這裡,謝謝大家!

更多精彩內容,歡迎大家觀看現場視頻回放與會議資料
視頻回放:https://www.modb.pro/video/6327
會議資料:https://www.modb.pro/doc/60830


欲瞭解更多可以進入

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 來源:https://www.toutiao.com/article/6927297421139706376 單例模式(Singleton)是程式設計中一種非常重要的設計模式,設計模式也是Java面試重點考察的一個方面。面試經常會問到的一個問題是:SpringMVC中的Controller是單例還是 ...
  • 1、WebFirst框架描述 WebFirst 是果糖大數據團隊開發的新一代 高性能 代碼生成器&資料庫設計工具,由.net core + sqlsugar 開發 導入1000個表只要1-2秒,用法簡單,功能強大,支持多種資料庫 ,具體功能如下: 一、 建庫、CodeFirst方式線上建表,沒用到C ...
  • 1.安裝完成rabbitMQ 參考上一篇如何安裝 rabbitMQ 2.安裝 OTP服務 https://www.erlang.org/downloads C#代碼 需要導入RabbitMQ.Client 在NuGet中搜索自取 隊列發送端 var factory = new ConnectionF ...
  • 五一5天小假期的結束大家休息好了嗎?上班了狀態回整的怎麼樣呢?阿裡云云發平臺給大家帶福利了呢,通過玩游戲把獎品帶回家。 雲開發平臺兩周年,0門檻部署上線4款熱門游戲,游戲暢玩還有AirPods耳機、筋膜槍等8種獎品任你挑啦!4款游戲只需要完成2個就可以抽獎呢,100%中獎;還額外有故事有獎徵集的板塊 ...
  • 6、 1 鍵盤消息 // 4_4_例子Sysmets.cpp : 定義應用程式的入口點。 // #include "pch.h" #include "framework.h" #include "4_4_例子Sysmets.h" #include "data.h" #define MAX_LOADS ...
  • 本文例子參考《STM32單片機開發實例——基於Proteus虛擬模擬與HAL/LL庫》 源代碼:https://github.com/LanLinnet/STM33F103R6 項目要求 通過定時器延時(阻塞)的方式,實現LED燈以1秒為周期閃爍。 硬體設計 在第一節的基礎上,在Proteus中添加 ...
  • 一、DataStream API概述 Flink 中的 DataStream 程式是對數據流(例如過濾、更新狀態、定義視窗、聚合)進行轉換的常規程式。數據流的起始是從各種源(例如消息隊列、套接字流、文件)創建的。結果通過 sink 返回,例如可以將數據寫入文件或標準輸出(例如命令行終端)。Flink ...
  • 推薦文章: eclipse導入JDBC MySQL詳細安裝 菜鳥java MySQL連接教程 步驟: 找到MySQL的連接Java的jar文件; 如下圖: 在eclipse項目文件下找到lib文件夾,沒有的話就自己創建一個,然後將上面找到的jar文件複製粘貼到lib文件夾的下麵; 如下圖: 給這個j ...
一周排行
    -Advertisement-
    Play Games
  • 1、預覽地址:http://139.155.137.144:9012 2、qq群:801913255 一、前言 隨著網路的發展,企業對於信息系統數據的保密工作愈發重視,不同身份、角色對於數據的訪問許可權都應該大相徑庭。 列如 1、不同登錄人員對一個數據列表的可見度是不一樣的,如數據列、數據行、數據按鈕 ...
  • 前言 上一篇文章寫瞭如何使用RabbitMQ做個簡單的發送郵件項目,然後評論也是比較多,也是準備去學習一下如何確保RabbitMQ的消息可靠性,但是由於時間原因,先來說說設計模式中的簡單工廠模式吧! 在瞭解簡單工廠模式之前,我們要知道C#是一款面向對象的高級程式語言。它有3大特性,封裝、繼承、多態。 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 介紹 Nodify是一個WPF基於節點的編輯器控制項,其中包含一系列節點、連接和連接器組件,旨在簡化構建基於節點的工具的過程 ...
  • 創建一個webapi項目做測試使用。 創建新控制器,搭建一個基礎框架,包括獲取當天日期、wiki的請求地址等 創建一個Http請求幫助類以及方法,用於獲取指定URL的信息 使用http請求訪問指定url,先運行一下,看看返回的內容。內容如圖右邊所示,實際上是一個Json數據。我們主要解析 大事記 部 ...
  • 最近在不少自媒體上看到有關.NET與C#的資訊與評價,感覺大家對.NET與C#還是不太瞭解,尤其是對2016年6月發佈的跨平臺.NET Core 1.0,更是知之甚少。在考慮一番之後,還是決定寫點東西總結一下,也回顧一下.NET的發展歷史。 首先,你沒看錯,.NET是跨平臺的,可以在Windows、 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 添加節點(nodes) 通過上一篇我們已經創建好了編輯器實例現在我們為編輯器添加一個節點 添加model和viewmode ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...
  • 類型檢查和轉換:當你需要檢查對象是否為特定類型,並且希望在同一時間內將其轉換為那個類型時,模式匹配提供了一種更簡潔的方式來完成這一任務,避免了使用傳統的as和is操作符後還需要進行額外的null檢查。 複雜條件邏輯:在處理複雜的條件邏輯時,特別是涉及到多個條件和類型的情況下,使用模式匹配可以使代碼更 ...
  • 在日常開發中,我們經常需要和文件打交道,特別是桌面開發,有時候就會需要載入大批量的文件,而且可能還會存在部分文件缺失的情況,那麼如何才能快速的判斷文件是否存在呢?如果處理不當的,且文件數量比較多的時候,可能會造成卡頓等情況,進而影響程式的使用體驗。今天就以一個簡單的小例子,簡述兩種不同的判斷文件是否... ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...