墨天輪訪談 | 百度雲邱學達: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
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...