OceanBase-概述
文章目錄
- 背景
- 產(chǎn)品家族
- 分布式數(shù)據(jù)庫
- 社區(qū)版(當(dāng)前為V4.0)
- 企業(yè)版
- 公有云
- 總結(jié)
- 核心功能
- 適用場景
- 工具體系
- 遷移評估工具OMA
- 遷移工具OMS
- 開發(fā)工具ODC
- 權(quán)限管理
- 運(yùn)維工具OCP
- 生態(tài)產(chǎn)品
- 圖數(shù)據(jù)庫
- 時序數(shù)據(jù)庫
背景
前段時間學(xué)習(xí)了下tidb的體系架構(gòu),了解了其運(yùn)行原理;今兒了解下OceanBase;
產(chǎn)品家族
先看下官網(wǎng):https://www.oceanbase.com/
在OceanBase的產(chǎn)品分類里,一共有三大塊,分布式數(shù)據(jù)庫、工具體系、生態(tài)產(chǎn)品;(一個產(chǎn)品好不好用周邊很關(guān)鍵);
分布式數(shù)據(jù)庫
社區(qū)版(當(dāng)前為V4.0)
介紹:兼容 MySQL 的單機(jī)分布式一體化數(shù)據(jù)庫,具有原生分布式架構(gòu),支持金融級高可用、透明水平擴(kuò)展、分布式事務(wù)、多租戶和語法兼容等企業(yè)級特性。OceanBase 內(nèi)核通過大規(guī)模商用場景的考驗(yàn),已服務(wù)眾多行業(yè)客戶;面向未來攜手社區(qū)生態(tài)伙伴,共建開源開放的數(shù)據(jù)庫內(nèi)核和生態(tài)。
為什么選擇社區(qū)版?
- 穩(wěn)定可信賴
- 支持超大事務(wù)
- RTO<30s
- 允許時鐘偏差達(dá)到2s,動態(tài)修改時鐘;
- 海量數(shù)據(jù)高性能
- 海量數(shù)據(jù),支持在線事務(wù)處理OLTP和在線分析處理OLAP的線性擴(kuò)展;
- TPC-C測試第一
- 大幅提升KV能力
- 支持OBKV,具備HBase模型和Table模型的NoSQL能力;
- 相對HBase,二級索引下OBKV性能指數(shù)級提升;
- 更低的存儲和運(yùn)維成本
- 支持部署運(yùn)行在PC服務(wù)器和低端SSD;
- 高存儲壓縮率降低存儲成本;
- 無中心化設(shè)計(jì)
- 原生多租戶
- 支持主流生態(tài)產(chǎn)品(prometheus、canal)
- 及時響應(yīng)的社區(qū)支持
- 文檔完善(阿里的文檔沒幾個完善的)
- 兼容MySQL開源生態(tài)
- 這個是核心,最起碼現(xiàn)在主流還是MySQL
產(chǎn)品架構(gòu)
OceanBase 社區(qū)版數(shù)據(jù)庫內(nèi)核開源, 與 MySQL 兼容,對接虛擬化和大數(shù)據(jù)技術(shù)及產(chǎn)品,支持多種圖形化的開發(fā)工具、運(yùn)維監(jiān)控工具和數(shù)據(jù)遷移工具;同時社區(qū)版提供開放的接口和豐富的生態(tài)能力,支持企業(yè)或個人更好的實(shí)現(xiàn)定制化業(yè)務(wù)需求。
整體架構(gòu)
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-3qLZ8Chw-1670410851150)(https://images.5ycode.com/images/OceanBase%E6%9E%B6%E6%9E%84%E5%9B%BE.jpeg-1)]
- OBProxy:
- 為應(yīng)用程序屏蔽了OB內(nèi)部的分區(qū)和副本分布等細(xì)節(jié);
- 應(yīng)用程序發(fā)起請求后,由OBProxy轉(zhuǎn)發(fā)SQL請求到合適的OBServer節(jié)點(diǎn);
- OBProxy是無狀態(tài)的服務(wù)
- 多個OBProxy節(jié)點(diǎn)通過負(fù)載均衡對應(yīng)用提供統(tǒng)一的網(wǎng)絡(luò)地址;
- OBServer:
- OB的一個集群由若干節(jié)點(diǎn)組成,這些節(jié)點(diǎn)分屬于若干個可用區(qū)(zone);
- zone是一個邏輯概念,即可以表示集群內(nèi)具有相似硬件屬性的一組節(jié)點(diǎn)(可以是一個城市,可以是一個機(jī)房,可以是一個機(jī)柜,也可以是一臺服務(wù)器)
- 一個OB集群內(nèi),可以創(chuàng)建多個隔離的數(shù)據(jù)庫“實(shí)例”(租戶),每個租戶是一個獨(dú)立的數(shù)據(jù)庫,租戶可以選擇MySQL模式或Oracle模式;
- 一個observer內(nèi),可以有多個屬于不同租戶的虛擬容器叫資源單元(unit),每個資源單元的資源都是獨(dú)立的;
- 一個租戶在多個節(jié)點(diǎn)上的資源單元(unit)組成一個資源池;
- OB中,一個表的數(shù)據(jù)可以按照一定的規(guī)則水平拆分為多個分片,每個分片叫做一個表分區(qū),一行數(shù)據(jù)只能屬于一個分區(qū);一個表的分區(qū)可以分布在一個可用區(qū)內(nèi)的多個節(jié)點(diǎn)上,每個物理分區(qū)有一個用于存儲數(shù)據(jù)的存儲層對象tablet,用于存儲有序的數(shù)據(jù);
- tablet中的數(shù)據(jù)修改時,會記錄redo到tablet對應(yīng)的日志流里,每個日知錄服務(wù)了其他所在節(jié)點(diǎn)上的多個tablet,為了容災(zāi),每個日志流及tablet有多個副本;副本分散在不同的可用區(qū)里;有且只有一個副本接收修改操作,通過Multi-Paxos分布式共識實(shí)現(xiàn)副本之間的強(qiáng)一致性;
我們類比一下
| 物理機(jī) | 集群 |
| 固定配置的虛擬機(jī) | 資源單元(固定配置) |
| 集群 | 資源池 |
| MySQL實(shí)例 | 租戶(MySQL兼容或Oracle兼容) |
| 分區(qū)表(單節(jié)點(diǎn)) | 表分區(qū)(多節(jié)點(diǎn),多分區(qū)) |
| binlog | redo->日志流 |
客戶案例
- 攜程旅行:沒說具體業(yè)務(wù),只是探索通過 OceanBase 社區(qū)版方案來替換原有 MySQL 方案;讀性能提升2倍,寫性能提升3倍;,節(jié)省2/3的存儲;
- 快手:也沒說具體業(yè)務(wù),也是解決線上MySQL分片過多帶來的高運(yùn)維成本;數(shù)據(jù)同步延遲減少3/4,存儲成本降低至1/4;
- 翼支付:消息中心,存儲從72T–>17T;
企業(yè)版
OceanBase 企業(yè)版(OceanBase Database)是一款完全自研的企業(yè)級原生分布式數(shù)據(jù)庫,在普通硬件上實(shí)現(xiàn)金融級高可用,首創(chuàng)“三地五中心”城市級故障自動無損容災(zāi)新標(biāo)準(zhǔn),刷新 TPC-C 標(biāo)準(zhǔn)測試,單集群規(guī)模超過 1500 節(jié)點(diǎn),具有云原生、強(qiáng)一致性、高度兼容 Oracle/MySQL 等特性。
為什么選擇企業(yè)版
- 高可用:
- 三地五中心
- 金融無損
- RPO=0,RTO<30S
- 數(shù)據(jù)零丟失
- 高兼容
- 高度兼容Oracle和MySQL
- 水平擴(kuò)展
- 透明水平擴(kuò)展
- 快速的擴(kuò)縮容
- 準(zhǔn)內(nèi)存處理架構(gòu)實(shí)現(xiàn)高性能
- 支持集群節(jié)點(diǎn)超千
- 單集群最大數(shù)據(jù)量超3PB(真實(shí)業(yè)務(wù))
- 最大單表行數(shù)達(dá)萬億級(真實(shí)業(yè)務(wù))
- 低成本
- 基于LSM-Tree的高壓縮引擎
- 存儲成本降低70%~90%;
- 支持多租戶
- 同集群可為多個獨(dú)立業(yè)務(wù)提供服務(wù)(資源隔離)
- 實(shí)時HTAP
- ”同一份數(shù)據(jù),同一個引擎“,同時支持在線實(shí)時交易和實(shí)時分析;
- ”一份數(shù)據(jù)“的多副本可以存儲成多種形態(tài),用于不同工作負(fù)載,保證數(shù)據(jù)一致性;
- 安全可靠
- 代碼級可控
- 自研分布式一體化架構(gòu)
- 大規(guī)模金融核心場景9年可靠性驗(yàn)證;
- 數(shù)據(jù)存儲和通信全鏈路透明加密
產(chǎn)品架構(gòu)
客戶案例
舉的三個案例都是國字頭的;
- 中國工商銀行:理財(cái)業(yè)務(wù),兩地三中心容災(zāi)、國產(chǎn)化ARM服務(wù)器,資源利用率達(dá)到75%;
- 中國移動:山東移動的計(jì)費(fèi)系統(tǒng),效率提升30%,存儲降低90%;由小機(jī)換為普通pc;
- 中國石化:構(gòu)建新一代只會加油站,推進(jìn)中石化生活中和服務(wù)商轉(zhuǎn)型戰(zhàn)略(整合了23套分散系統(tǒng));數(shù)據(jù)查詢由分鐘級降低到秒級,故障恢復(fù)由小時級降低為分鐘級;
公有云
OceanBase 公有云(OceanBase Cloud)是構(gòu)建在阿里云、AWS 等全球主流公有云基礎(chǔ)設(shè)施上,基于完全自主研發(fā)的原生分布式數(shù)據(jù)庫,提供彈性擴(kuò)展、卓越性能、主流兼容的高性價比的數(shù)據(jù)庫云服務(wù)。為客戶在云上提供服務(wù)、彈性、監(jiān)控、診斷、開發(fā)、遷移、備份、恢復(fù)的端到端數(shù)據(jù)庫服務(wù)化解決方案。
為什么選擇公有云?
- 低存儲成本
- LSM-Tree 存儲引擎
- 編碼壓縮
- 多租戶靈活配置
- 原生分布式多租戶
- 租戶間數(shù)據(jù)和權(quán)限雙重隔離;
- 99.99% SLA
- 三地五中心容災(zāi)標(biāo)準(zhǔn)
- 單機(jī)服務(wù)器故障自愈
- RPO=0,RTO<30s
- 高兼容
- 兼容Oracle和MySQL語法;
- 彈性擴(kuò)縮容
- 單表容量超過3200億行(2020年的時候真實(shí)業(yè)務(wù))
- 在線水平擴(kuò)縮容
- 自動負(fù)載均衡
- 對應(yīng)用透明
- 實(shí)時HTAP
- 一套引擎同事支持OLTP和OLAP
客戶案例
- 中華保險:沒明確哪個業(yè)務(wù),看樣子是投保;
- GCash:全站業(yè)務(wù),存儲空間下降70%;
- 利楚商服:
- 易倉科技:
總結(jié)
核心功能
- 多副本高可用、強(qiáng)同步;
- 多租戶
- 在線彈性伸縮容
- 異地容災(zāi)/多活能力
- 分區(qū)表、復(fù)制表等分布式能力
- HTAP能力
- MySQL/Oracle兼容性
- 備份恢復(fù)
- CDC能力
適用場景
- mysql 實(shí)例規(guī)模很大,導(dǎo)致運(yùn)維問題,不一致問題;
- MySQL數(shù)據(jù)量非常大、存儲成本非常高的場景;
- 業(yè)務(wù)訪問壓力大或者變化大的場景
- 復(fù)雜查詢場景;
工具體系
遷移評估工具OMA
OceanBase 遷移評估工具 (OceanBase Migration Assessment,OMA)是 OceanBase 提供的數(shù)據(jù)庫遷移評估的產(chǎn)品,為數(shù)據(jù)遷移提供精準(zhǔn)的兼容性評估、高效的性能評估以及應(yīng)用邏輯改造建議。OMA 支持評估Oracle、DB2 LUW、PostgreSQL 等多種數(shù)據(jù)庫與 OceanBase 的兼容情況,提供畫像分析和自動轉(zhuǎn)換方案;支持應(yīng)用負(fù)載回放功能,幫助客戶預(yù)知遷移后可能的性能風(fēng)險并提供優(yōu)化方案;OMA 還支持評估 C、Java 業(yè)務(wù)代碼以及驅(qū)動的兼容性以助力用戶高效率、低成本遷移至OceanBase。
產(chǎn)品功能
- 靈活的評估方式
- 連接指定數(shù)據(jù)庫,自動獲取和掃描源數(shù)據(jù)庫對象以及SQL語句
- 支持從客戶端工具連接到指定數(shù)據(jù)庫獲取DDL語句進(jìn)行評估
- 支持解析代碼框架或負(fù)載捕獲等離線文件中的SQL語句
- 完備的數(shù)據(jù)庫畫像
- 連接源端庫,進(jìn)行深度采集分析、生成源庫畫像
- 根據(jù)畫像:數(shù)據(jù)庫拓?fù)?、?yīng)用拓?fù)?、?fù)載、會話、熱點(diǎn)數(shù)據(jù)
- 系統(tǒng)的兼容性分析
- 支持評估oracle、MySQL、PostgreSQL、TiDB、DB2等與OB的對象兼容性、SQL兼容性
- 應(yīng)用負(fù)載回放
- 抓取源庫SQL或數(shù)據(jù)庫的負(fù)載流量、回放對應(yīng)的SQL至目標(biāo)OB庫中
- 分布式遷移方案推薦
- OB未兼容的類型、語法OMA會提供基于最佳的轉(zhuǎn)換規(guī)則的建議和方案
- 全面的評估報(bào)告
- 評估完成,OMA自動生成詳細(xì)的評估報(bào)告,包括:畫像分析、兼容性評估、性能評估等
產(chǎn)品架構(gòu)
遷移工具OMS
OceanBase 數(shù)據(jù)遷移工具(OceanBase Migration Service,OMS)是 OceanBase 數(shù)據(jù)庫一站式數(shù)據(jù)傳輸和同步的產(chǎn)品。它支持多種關(guān)系型數(shù)據(jù)庫、消息隊(duì)列與 OceanBase 數(shù)據(jù)庫之間的數(shù)據(jù)復(fù)制,是集數(shù)據(jù)遷移、實(shí)時數(shù)據(jù)同步和增量數(shù)據(jù)訂閱于一體的數(shù)據(jù)傳輸服務(wù),OMS 幫助您低風(fēng)險、低成本、高效率的實(shí)現(xiàn) OceanBase 的數(shù)據(jù)流通,助力構(gòu)建安全、穩(wěn)定、高效的數(shù)據(jù)復(fù)制架構(gòu)。
產(chǎn)品功能
- 在線數(shù)據(jù)遷移
- 支持Oracle、MySQL、DB2等數(shù)據(jù)庫到OB的數(shù)據(jù)庫對象遷移,全量和增量數(shù)據(jù)庫的不停機(jī)遷移能力
- 實(shí)時數(shù)據(jù)同步
- 支持OB到多種數(shù)據(jù)庫
- 支持到Kafka、MQ等增量實(shí)時同步
- 簡便已用的管控功能
- 提供數(shù)據(jù)傳輸過程的全生命周期管理(功能化)
- 多重?cái)?shù)據(jù)校驗(yàn)
- 保證數(shù)據(jù)正確性、展示差異數(shù)據(jù)、提供快速修復(fù)能力
- 輕量計(jì)算
- 常見數(shù)據(jù)處理、數(shù)據(jù)過濾和數(shù)據(jù)轉(zhuǎn)換功能
- 強(qiáng)大的異構(gòu)DDL轉(zhuǎn)換
- 提供自動轉(zhuǎn)換異構(gòu)數(shù)據(jù)庫的DDL能力
- 防循環(huán)復(fù)制支持
- 解決增量數(shù)據(jù)的循環(huán)復(fù)制難題
- 支持表級別異地多活能力
- 強(qiáng)大的運(yùn)維管理
- 提供豐富的運(yùn)行以及鏈路狀況的實(shí)時監(jiān)控?cái)?shù)據(jù)
- 提供多種同步組件的白屏運(yùn)維管理工具
- 支持多種告警渠道的配置
產(chǎn)品架構(gòu)
系統(tǒng)架構(gòu)
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-8SiNcTdM-1670410851152)(https://images.5ycode.com/images/%E6%9E%B6%E6%9E%84%E5%9B%BE.png-1)]
開發(fā)工具ODC
OceanBase 開發(fā)者工具(OceanBase Developer Center,ODC)作為 OceanBase 數(shù)據(jù)庫量身打造的企業(yè)級數(shù)據(jù)庫開發(fā)平臺,旨在幫助企業(yè)安全、高效的使用數(shù)據(jù)庫。您可通過 ODC 創(chuàng)建和管理數(shù)據(jù)庫中的表、視圖等 10 余種數(shù)據(jù)庫對象?;?WebSQL,ODC 提供了 SQL 窗口和匿名塊窗口作為數(shù)據(jù)庫開發(fā)者開發(fā)和診斷 SQL 和 PL/SQL 的工作區(qū)。您還可為指定角色分配對應(yīng)資源及該資源的訪問權(quán)限,企業(yè)內(nèi)不同角色間的開發(fā)協(xié)作亦會變得簡單可控。
產(chǎn)品功能
- 多窗口開發(fā)
- 提供SQL窗口、匿名窗口和命令行窗口
- 智能提示、語法高亮、格式化
- 結(jié)果集管理
- 支持全部和部分結(jié)果集的導(dǎo)出
- PL調(diào)試
- 支持?jǐn)帱c(diǎn)調(diào)試
- 可摘結(jié)果觀察區(qū)查看調(diào)試過程中各種信息的變化
- 導(dǎo)入導(dǎo)出
- 支持多維度的對象內(nèi)容、數(shù)據(jù)格式的導(dǎo)入導(dǎo)出
- 模擬數(shù)據(jù)
- 可快速為目標(biāo)表生成指定量和規(guī)則化的測試數(shù)據(jù)
-
權(quán)限管理
- 流程管控
- 對僅具有可讀權(quán)限的用戶根據(jù)不同的任務(wù)類型定制不同的審批流程
- 操作審計(jì)
- 個人設(shè)置、密碼管理、鏈接管理、數(shù)據(jù)庫操作等14類審計(jì)事件類型;
產(chǎn)品架構(gòu)
產(chǎn)品文檔里的最新架構(gòu)圖
運(yùn)維工具OCP
OceanBase 運(yùn)維管理工具(OceanBase Control Platform,OCP)是一款為 OceanBase 數(shù)據(jù)庫集群量身打造的企業(yè)級管理平臺,兼容 OceanBase 所有主流版本。OCP 提供對 OceanBase 集群的圖形化管理能力,包括數(shù)據(jù)庫組件及相關(guān)資源的全生命周期管理、監(jiān)控告警、性能診斷、故障恢復(fù)、備份恢復(fù)等,旨在協(xié)助客戶更加高效地管理 OceanBase 數(shù)據(jù)庫,降低企業(yè)的IT運(yùn)維成本和用戶的學(xué)習(xí)成本。
很有意思的是,官方首頁運(yùn)維工具那對OCP的解釋OceanBase Control Plaform ,而文檔里對OCP的解釋是OceanBase Cloud Platform。
產(chǎn)品功能
- 全生命周期管理(運(yùn)維管控)
- 對OB資源的統(tǒng)一管理
- 實(shí)現(xiàn)對資源的額創(chuàng)建、備份恢復(fù)、監(jiān)控告警、巡檢、自治、升級、刪除等全生命周期管理
- 備份恢復(fù)
- 提供對OB集群、租戶的備份恢復(fù)能力;
- 支持自動將全量、增量、日志備份到NAS、OSS等
- 支持一鍵恢復(fù)操作
- 監(jiān)控告警
- 支持主機(jī)、集群、租戶等維度對OB的監(jiān)控
- 提供釘釘、微信、郵件等告警方式
- 容災(zāi)管理
- 支持自動化部署主備集群
- 支持主備解耦、主備切換、容災(zāi)應(yīng)急切換等功能
- 診斷優(yōu)化
- 針對SQL提供感知、根因分析、執(zhí)行建議的診斷能力
- 實(shí)現(xiàn)了集群復(fù)制、會話、死鎖、容量等維度的診斷能力
- 自治服務(wù)
- 提供從事件感知、根因分析、自治自愈到告警通知、應(yīng)急處理的全鏈路自治能力
產(chǎn)品架構(gòu)
系統(tǒng)架構(gòu)
系統(tǒng)中,主要包含6個模塊
- 管理Agent(Management Agent)
- 安裝在受OCP監(jiān)控的主機(jī)上
- 通過OCP管理控制臺進(jìn)行統(tǒng)一的部署和升級
- 控制目標(biāo)主機(jī)的啟停、遠(yuǎn)程執(zhí)行任務(wù)和收集指標(biāo)
- 管理服務(wù)(Management Service)
- 基于java
- 管理Agent和元信息數(shù)據(jù)庫通信,
- 收集和存儲遠(yuǎn)程主機(jī)上的信息
- 與OB集群通信,遠(yuǎn)程執(zhí)行對OB的運(yùn)維命令
- 元信息數(shù)據(jù)庫(Metadata Repository)
- 元信息庫或MetaDB
- 存儲管理Agent程序收集到的信息
- 安裝OCP前,元信息庫必須已經(jīng)存在
- 監(jiān)控?cái)?shù)據(jù)庫(Monitor Repository)
- 云信息庫或MonitorDB
- 用于存儲OCP采集的監(jiān)控?cái)?shù)據(jù)
- 管理控制臺(Management Console)
- 提供訪問、監(jiān)控和管理整個數(shù)據(jù)庫集群的web界面
- 提供數(shù)據(jù)大盤
- OBProxy(OceanBase 專用反向代理)
- 是用戶連接到OB的代理服務(wù),負(fù)責(zé)將OCP管理程序向數(shù)據(jù)庫發(fā)送的各種請求路由到云信息集群中,并將返回的信息發(fā)給OCP的管理服務(wù)
生態(tài)產(chǎn)品
圖數(shù)據(jù)庫
這個就不看了
時序數(shù)據(jù)庫
CeresDB 是基于 OceanBase 分布式存儲引擎設(shè)計(jì)的時序數(shù)據(jù)庫產(chǎn)品,用來存儲和管理時間序列數(shù)據(jù),提供高性能讀寫、高壓縮比低成本存儲、可視化查詢等功能,有效解決由于采集數(shù)據(jù)點(diǎn)量大、高頻造成的存儲成本高,寫入和查詢分析效率低的問題。適用于物聯(lián)網(wǎng) loT、運(yùn)維監(jiān)控、金融分析等場景。
產(chǎn)品功能
- 時序數(shù)據(jù)的采集和存儲
- 每秒千萬級數(shù)據(jù)點(diǎn)的讀寫
- 時序數(shù)據(jù)的計(jì)算和分析能力
- 支持預(yù)計(jì)算能力(降精度、數(shù)據(jù)插值、數(shù)據(jù)聚合)
- 支持基于SQL的OLAP分析能力
- 存儲分層
- 基于存儲與計(jì)算分離架構(gòu)
- 支持多種存儲介質(zhì)
- 支持分級存儲和數(shù)據(jù)冷熱分離能力
- 開源兼容
- 提供HTTPAPI接口
- 兼容OpenTSDB、Prometheus協(xié)議
- 企業(yè)級能力
- 數(shù)據(jù)分片、計(jì)算與存儲均可水平擴(kuò)展
產(chǎn)品架構(gòu)
總結(jié)
以上是生活随笔為你收集整理的OceanBase-概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中兴手机数据通道打不开_中兴RRU故障排
- 下一篇: 多线程编程模式之Thread-Speci