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