墨天輪訪談 | 百度雲邱學達: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
  • 在C#中使用SQL Server實現事務的ACID(原子性、一致性、隔離性、持久性)屬性和使用資料庫鎖(悲觀鎖和樂觀鎖)時,你可以通過ADO.NET的SqlConnection和SqlTransaction類來實現。下麵是一些示例和概念說明。 實現ACID事務 ACID屬性是事務處理的四個基本特征, ...
  • 我們在《SqlSugar開發框架》中,Winform界面開發部分往往也用到了自定義的用戶控制項,對應一些特殊的界面或者常用到的一些局部界面內容,我們可以使用自定義的用戶控制項來提高界面的統一性,同時也增強了使用的便利性。如我們Winform界面中用到的分頁控制項、附件顯示內容、以及一些公司、部門、菜單的下... ...
  • 在本篇教程中,我們學習瞭如何在 Taurus.MVC WebMVC 中進行數據綁定操作。我們還學習瞭如何使用 ${屬性名稱} CMS 語法來綁定頁面上的元素與 Model 中的屬性。通過這些步驟,我們成功實現了一個簡單的數據綁定示例。 ...
  • 是在MVVM中用來傳遞消息的一種方式。它是在MVVMLight框架中提供的一個實現了IMessenger介面的類,可以用來在ViewModel之間、ViewModel和View之間傳遞消息。 Send 接受一個泛型參數,表示要發送的消息內容。 Register 方法用於註冊某個對象接收消息。 pub ...
  • 概述:在WPF中,通過EventHandler可實現基礎和高級的UI更新方式。基礎用法涉及在類中定義事件,併在UI中訂閱以執行更新操作。高級用法藉助Dispatcher類,確保在非UI線程上執行操作後,通過UI線程更新界面。這兩種方法提供了靈活而可靠的UI更新機制。 在WPF(Windows Pre ...
  • 概述:本文介紹了在C#程式開發中如何利用自定義擴展方法測量代碼執行時間。通過使用簡單的Action委托,開發者可以輕鬆獲取代碼塊的執行時間,幫助優化性能、驗證演算法效率以及監控系統性能。這種通用方法提供了一種便捷而有效的方式,有助於提高開發效率和代碼質量。 在軟體開發中,瞭解代碼執行時間是優化程式性能 ...
  • 概述:Cron表達式是一種強大的定時任務調度工具,通過配置不同欄位實現靈活的時間規定。在.NET中,Quartz庫提供了簡便的方式配置Cron表達式,實現精準的定時任務調度。這種靈活性和可擴展性使得開發者能夠根據需求輕鬆地制定和管理定時任務,例如每天備份系統日誌或其他重要操作。 Cron表達式詳解 ...
  • 概述:.NET提供多種定時器,如System.Windows.Forms.Timer適用於UI,System.Web.UI.Timer用於Web,System.Diagnostics.Timer用於性能監控,System.Threading.Timer和System.Timers.Timer用於一般 ...
  • 問題背景 有同事聯繫我說,在生產環境上,訪問不了我負責的common服務,然後我去檢查common服務的health endpoint, 沒問題,然後我問了下異常,timeout導致的System.OperationCanceledException。那大概率是客戶端的問題,會不會是埠耗盡,用ne ...
  • 前言: 在本篇 Taurus.MVC WebMVC 入門開發教程的第四篇文章中, 我們將學習如何實現數據列表的綁定,通過使用 List<Model> 來展示多個數據項。 我們將繼續使用 Taurus.Mvc 命名空間,同時探討如何在視圖中綁定並顯示一個 Model 列表。 步驟1:創建 Model ...