《OceanBase-鄭曉峰-OceanBase社區版 4.x 核心技術解密.pdf》由會員分享,可在線閱讀,更多相關《OceanBase-鄭曉峰-OceanBase社區版 4.x 核心技術解密.pdf(36頁珍藏版)》請在三個皮匠報告上搜索。
1、OceanBase 社區版 4.x 核心技術解密鄭曉鋒(序風)OceanBase 技術部技術專家目錄01OceanBase架構及核心特性02 生態工具03 4.1 解讀及未來展望OceanBaseOceanBase 架構發展歷程架構發展歷程什么是單機分布式一體化數據庫?什么是單機分布式一體化數據庫?單機分布式可動態單機分布式可動態轉換轉換OceanBaseOceanBase 產品功能特性產品功能特性完全自主研發的數據庫,才能做到核心替代的真正落地自研一體化架構兼容經典模式,實現單機和分布式、TP和AP的融合 原生分布式全量數據校驗真正實現數據強一致,數據不丟失,高可用,平滑擴展單機分布式一體化
2、自研一體化架構突破高性能和高可用,實現應用無限擴展和服務永遠在線 HTAP一份數據既能做事務處理又能實時分析,通過 HTAP 助力拓展更多可能 MySQL平滑遷移業務少量修改甚至不改即可遷移到OB,自動評估和遷移工具 低成本!LSM-Tree#$%&()*+,-./0,%&/#123456789:;70%-90%多租戶?ABC3DEFG3HIJKLMN0 SaaS OPQC原生多租戶架構Oracle 兼容MySQL 兼容 HTAP 引擎(TP+AP)SQL 優化引擎集中式/分布式一體化架構并行執行引擎存儲過程基于 Paxos+數據同步的靈活的容災架構分布式存儲分布式事務分布式調度單機房三副本同
3、城三機房雙機房主備兩地三中心三地五中心靈活的部署模式物理部署專有云/混合云公有云/多云原生分布式原生分布式OceanBase 使用普通服務器和數據中心網絡組成的 Shared-nothing 集群部署,無需基于專用網絡環境的 SAN 存儲設備。集群原生自動管理計算資源和存儲資源的分配和動態資源均衡。支持彈性水平或垂直擴縮容,讀寫性能可線性擴展。所有服務節點都支持 SQL 計算和數據存儲,每個節點自主管理所服務的分區數據。整個集群只有一種數據庫服務進程,無外部服務依賴,運維管理簡單。對外提供統一的數據庫服務,支持 ACID 事務和全局索引,對應用開發來說與單機無異。應用透明的水平擴展,自動負載均
4、衡,集群規??蛇_數千節點容災能力是關鍵業務系統的重要衡量指標,原生分布式在設計之初就假定硬件是不可靠的,每個模塊的設計和實現都在細節處考慮容災和主動防御。支持多個數據副本分散存儲在不同地域,實現跨地域的容災部署。在強一致事務的保護下,數據修改在多個地域保證成功提交,因此當災難發生時,數據不會丟失,達到國家標準定義的最高級別容災標準。高可用性是系統某些組件故障時持續提供服務的能力。OceanBase 分布式選舉協議在故障發生時進行自主選舉。少數派節點發生宕機時,支持快速無損自動切換,達到 RTO 500MB/s 無需停服務P4P8P4P8P4P8P2P2P2P6P6P6P2P6P6LeaderP
5、 PFollower彈性擴縮容彈性擴縮容對應用透明的擴展性對應用透明的擴展性-水平擴水平擴zone(zone(水平擴容水平擴容)ZONE1ZONE2ZONE3P1 P3P2P7 OBServerP5 P6OBServerP1 P3P2P7 OBServerP5 P6OBServerP1 P3P2OBServerOBServerDriver/ProxyP7 P5 P6P4P4 P8 P8P8 P4P3P2OBServerP5 P6OBServerP1 P3P7 OBServerP6OBServerP4 P8P8 ZONE4ZONE5P2 P1 P2P7 P4P5 P2 P6 P6 LeaderP
6、 PFollower集群級別追加zone集群級別追加zone數據自動進行復制 數據同步速度500MB/s自動選出Leader 根據zone的優先級 無需停服務單機分布式一體化單機分布式一體化一般的分布式數據庫在提供了水平擴展性的同時,往往犧牲了單機的性能。然而,在交互式的 OLTP 業務中,單個事務的處理時延增加往往是不可接受的。這導致在許多場景下,單機數據庫替換為某些分布式數據庫后,即使業務性能指標不增加,也需要許多臺分布式數據庫節點才能支撐原有業務規模,造成成本不降反升。OceanBase 的單機分布式一體化架構,在單機部署時,性能與單機數據庫相當,甚至比某些流行的開源單機數據庫的性能更好
7、。特別地,在以下三種情況時,OceanBase 的查詢和事務處理沒有多機訪問的開銷:當 SQL 語句只涉及單機內的分區時,數據讀寫無需通過網絡。當事務只涉及單機內的分區時,事務提交沒有分布式提交協議的開銷。當事務只涉及單機內的分區時,基于多版本并發控制的一致性快照讀取無需遠程訪問全局時間戳服務。適應企業各業務規模階段高規格OBOBOBOBOBOBOBOBOBOBOBOBOB高規格OB高規格OB高規格OB小型業務中型業務大型業務核心業務業務規模傳統數據庫選型小規格機器MySQL主機DB2高規格RAC高規格RAC共享存儲高規格機器OracleII小規格OBOceanBase單機分布式一體化架構,讓
8、 OceanBase 數據庫能夠適應從個人小站點到銀行核心系統和巨型電商網站等各種規模的業務,用一個數據庫產品伴隨客戶業務的成長。當三機三副本部署時,相同的性能同時提供比傳統主備庫更好的高可用能力。當節點機器規格提升時,提供了線性的垂直擴展性。當每個 Zone 部署多節點時,提供了線性的水平擴展性。單機部署性能與單機數據庫相當一體化架構如何兼顧可擴展和高性能?一體化架構如何兼顧可擴展和高性能?即使拼單機即使拼單機OceanBaseOceanBase也更值得也更值得即使拼單機即使拼單機OceanBaseOceanBase也更值得也更值得單機垂直擴展性實驗HTAP 混合事務與實時分析處理一套系統支
9、撐海量交易、海量分析企業級應用的業務場景通??梢苑譃閮蓚€類別:聯機交易和實時分析,我們通常稱為 OLTP 和 OLAP 的業務應用。大型企業往往會選擇多款數據庫產品分別支持 OLTP 和 OLAP 類的應用場景。這種組合式的解決方案需要數據在不同系統間進行流轉,數據同步過程帶來時間延遲和數據不一致的風險,多個不同的系統產生冗余數據,推高成本開銷,往往會限制企業在激烈的市場競爭中快速調整業務。針對混合負載場景中不同的資源隔離需求,提供多種資源隔離方式。包括使用多個 Zone 進行物理隔離,使用 CPU 資源組隔離不同數據庫連接。系統還會自動識別和隔離慢查詢,避免它影響整體的交易響應時延。一套系統
10、完成一套系統完成 OLTP OLTP 與與 OLAP OLAP 業務業務數據存儲計算資源在線交易系統數據分析系統HTAP 混合事務與實時分析處理是行業強訴求,OceanBase 基于分布式架構做好交易處理場景的同時,能夠完成分析、跑批等分析性場景,一套引擎支持 OLAP+OLTP 工作負載,同時實現兩套系統功能,成本將大幅降低。OceanBase 認為,真正的 HTAP 要求先有高性能的 OLTP,然后在 OLTP 的基礎上支持實時分析。OceanBase 通過原生分布式技術提供高性能的 OLTP 能力,真正通過“一個系統”提供同時處理交易及實時分析,“一份數據”用于不同的工作負載,從根本上保
11、持數據的一致性并最大程度降低數據冗余,幫助企業大幅降低總成本。HTAP 引擎:混合負載一站完成OceanBase 集群OLTP 請求+OLAP 請求傳統方式:高處理負載Step 1 OLTP 請求異步傳輸Step 2 OLAP 請求混合負載下的資源隔離某連鎖餐飲:穩定支撐百城千店極速點餐某連鎖餐飲:穩定支撐百城千店極速點餐30%HTAP 混合負載能力提升數據庫總擁有成本下降7x24h穩定運行35%服務連續性遇挑戰:原方案采用 MySQL 分庫分表架構,結構復雜的同時穩定性堪憂。流量洪峰時,會員、排隊取號等系統面臨非常大的壓力,曾發生高峰期數據庫故障導致業務受到嚴重影響的事件;智能推薦能力提升受
12、阻:實時分析每位顧客不同的口味、喜好進行智能推薦,依賴更為穩定的 OLAP 能力,現有架構鏈路復雜且同步存在時延,并帶來額外的存儲成本;降本增效需求迫切:疫情對餐飲行業帶來致命沖擊,需保證服務質量不下降的同時降低成本。分庫分表架構存在流量洪峰過后不能及時縮容,帶來的資源浪費問題。業務挑戰解決方案OceanBase 原生分布式能力,具備優越的擴展性、高可用、高性能等特性,徹底解決分庫分表方案擴展性不足、可靠性差、運維復雜等難題;完整技術降本方案,高級壓縮技術降低數據存儲成本,多租戶混部充分利用系統資源,以及 HTAP 混合負載減少數據冗余。一份數據實現兩份收益,簡化架構和降低成本的前提下,HTA
13、P 混合負載能力提升 30%,系統具備更實時、穩定的智能推薦能力;OceanBase 的緊密存儲、租戶秒級動態伸縮和計算資源不浪費等特性,實現數據庫總擁有成本下降 35%;數據庫性能、穩定性顯著提升,彈性擴縮容保障大促平穩度過,保證業務連續性,實現 7x24 小時穩定運行,達到 RTO=0,RPO30s 的容災目標??蛻羰找鍹ySQL0024MySQL2549MySQL5074MySQL7599OMS多表匯聚同步交易核心在線交易實時數倉查詢OceanBase公有云如何做到低成本?如何做到低成本?高級壓縮技術基于數據日志分離的低成本存儲技術數據壓縮是降低海量數據存儲空間占用的關鍵手段。Ocean
14、Base 高壓縮比的分布式存儲引擎,摒棄了傳統數據庫的定長數據塊存儲,采用基于 LSM-Tree 的存儲架構和自適應壓縮技術,創造性的解決了傳統數據庫無法平衡“性能”和“壓縮比”的難題,并基于數據日志分離方法的分布式存儲技術,進一步降低存儲成本,實現了高性能和低存儲成本?;?LSM-Tree 的存儲引擎,利用編碼壓縮大大降低存儲成本?;跀祿冮L-定長的存儲壓縮技術n 全量數據=基線數據+增量數據n 消除磁盤隨機寫n 異步寫磁盤基于數據編碼的存儲壓縮技術n 存儲:采用行列混合存儲,磁盤數據塊按列組織n 自適編碼:行列混存編碼,字典、差值、前綴等編碼算法n 壓縮算法:zstd,lz4n 數據與
15、日志分離:用戶數據和日志數據分離n Paxos副本類型:仲裁/日志型只讀全能型同一業務的數據存儲量OceanBase 僅為 MySQL/Oracle 數據庫的1/4-1/3顯著提升業務系統穩定性、安全性有效降低存儲成本70%-90%支撐 OLTP 業務在線高壓縮比LogsUpdateReplicas增量 MemTable(WOS)ROW Cache轉儲 SSTable基線 SSTable(ROS)DiskRow-LevelIn-MemoryRedo/MVCCMemoryIn-Memory HashIn-Memory B+-Trees ScanBig-QueryGetSmall-QueryBlo
16、ck Cache合并前合并后多個轉儲版本如何做到低成本?如何做到低成本?性價比某知名短視頻:穩定支撐單集群超百某知名短視頻:穩定支撐單集群超百 TB TB 海量數據海量數據300+套 MySQL 平滑遷移3/4數據同步延遲時間減少75%存儲成本降低隨著訂單業務量的增加,業務數據迅猛增,傳統數據庫的存儲瓶頸以及性能不佳問題越來越明顯;不僅運維成本和復雜度有所增加,同時需要不斷對應進改造和適配以解決不斷分庫分表帶來的問題。業務挑戰業務系統業務1:交易數據實時對賬業務業務2:充提轉退兌結場景(商家賬務&用戶,支付相關,快比,交易,渠道網關等)業務3:知識付費 app 業務,比如付費視頻業務4:商家對
17、賬業務5:電子賬單總機器規模超 300 臺運維更加效與便捷:單集群替換 300+套 MySQL 環境,運維管理成本降低,同時管理更加便。低成本:撐上百 TB 數據存儲場景且性能和穩定性有保證,同時相較之前的案,OceanBase 案的存儲成本降低 75%,降本效果明顯。數據同步性能提升:數據從上游寫到下游 OceanBase 響應延遲更,數據同步速度更快,同步延遲時間減少 3/4??蛻羰找鎖nsertqueryOceanBaseMySQLMySQLMySQL某知名旅行平臺:分布式升級實現海量數據高可用某知名旅行平臺:分布式升級實現海量數據高可用=0RPO85%數據存儲空間節約近秒級數據庫實例資
18、源擴縮容解決長期以來使用 MySQL 困擾攜程的在線 DDL、數據一致性、大表性能、主備切換等問題。提供更穩定、高效的服務能力的同時,降低數據庫系統整體的擁有成本,并提高資源利用率。實現自動故障切換,節點和機房故障的快速恢復能力得到顯著提升,實現 RPO=0,RTO30s;基于 OceanBase 的高級壓縮技術,在保證性能的同時,數據存儲空間節約近 85%。同等硬件投入的前提下,攜程可存儲更多數據;基于大集群多租戶,實現秒級的數據庫實例資源擴縮容,在整體集群資源使用不變的前提下,穩定承載多個業務的高峰壓力。酒店日志系列shard集群遷移至OB后從12臺機器壓縮到3臺機器,成本降低約75%;歸
19、檔庫從MySQL遷移到OceanBase后,壓縮比超過1:4,空間成本大幅降低;火車票部分核心業務通過租戶級別隔離,將多個MySQL集群以租戶為單位合并成一個OceanBase集群,大幅提高資源利用率??蛻羰找鏄I務流量激增,數據存儲達到 MySQL 存儲極限。以 IM 業務為例,群組消息表保存兩個月的數據占用存儲空間 800G左右,基本觸達當前配置下 MySQL 單表上限;MySQL 數據庫無法通過擴容機器數量獲得存儲、處理能力的提升,線上業務表數據量巨大,無法按照業務期望進行靈活的字段調整;采用 MySQL 主備方案,基于 binlog 復制的多節點存在數據一致性問題,在機房故障條件下無法保
20、證數據強一致,業務不能快速恢復。業務挑戰原架構新架構業務應用業務應用寫庫主讀庫主、備機房-1業務應用業務應用寫庫主讀庫主、備機房-2業務應用寫庫主讀庫主、備機房-3業務應用業務應用OB寫庫副本-1OB寫庫副本-1機房-1業務應用業務應用OB寫庫副本-2OB寫庫副本-2機房-2業務應用OB寫庫副本-3OB寫庫副本-3機房-3原生多租戶原生多租戶場景1:按業務條線整合多套系統,減少爆炸半徑應用 1(MySQL)應用 2(MySQL)應用 3(MySQL)租戶1租戶2租戶3應用1應用2應用3OceanBase 集群A租戶4租戶5租戶6OceanBase 集群B應用4應用5應用6業務條線A業務條線B核
21、心系統數據庫集群整合平臺化,多租戶整合應用數據庫,可在線擴展,在線調整配置,運維工作自動化應用應用1 1應用應用2 2應用應用3 3資源隔離、數據隔離、彈性調整資源隔離、數據隔離、彈性調整資源池資源池1 1資源池資源池2 2OceanBaseOceanBase 分布式數據庫集群分布式數據庫集群資源池資源池3 3每個應用租戶擁有專屬的資源池每個應用租戶擁有專屬的資源池CPU內存存儲CPU內存存儲CPU內存存儲數據庫池化管理,云時代實現資源精細化管理重要手段原生多租戶架構,一個集群中同時運行多個數據庫租戶,每個租戶可以視為一個獨立的數據庫服務。租戶間數據和資源互相隔離,并且在集群內統一調度。支持在
22、創建租戶時選擇不同的兼容模式,每個租戶可單獨配置數據副本數量、副本類型、存儲位置及計算資源等。場景2:單元化架構采用多集群多租戶模式進行水平拆分alibank00alibank00alibank00alibank00alibank00IDC1IDC2IDC3IDC4IDC5單元化集群alibank01alibank01alibank01alibank01alibank01alibank02alibank02alibank02alibank02alibank02Alibank03alibank03alibank03alibank03alibank03alibank04alibank04aliba
23、nk04alibank04alibank04alibankxxalibankxxalibankxxalibankxxalibankxxUID:00-19UID:20-39UID:40-59UID:60-79UID:80-99UID:00-9900-0920-2940-4960-6980-8900-9900-0920-2940-4960-6980-8900-9910-1930-3950-5970-7990-9900-9910-1930-3950-5970-7990-9900-9900-1920-3940-5960-7980-9900-99非單元化集群城市1城市2城市3多租戶資源隔離多租戶資源隔離
24、IO 隔離(4.x 新增)OceanBaseOceanBase 開源生態架構開源生態架構DataworksHadoopKafkaOceanBaseMySQL數據倉庫異構數據庫集群管理租戶管理監控告警性能調優備份恢復故障診斷OCPAPI 開放開源開放,對接生態Postgres數據遷移工具CanalOtterFlink CDCDataXChunjunCloudCanalOMS數據遷移數據同步數據轉換數據校驗API 開放運維管理工具KubernetesPrometheusD-SmartCNCF SealerActionSkyODC連接管理數據庫對象管理SQL 工作臺導入導出開發者工具NavicatD
25、BeaverPiFlow第三方OceanBase 官方OceanBase 內核OBProxy數據庫代理跨庫數據分片數據庫代理讀寫分離HTAP引擎全鏈路高可用高壓縮低成本彈性伸縮容OBServerOBServerSQL 引擎事務引擎存儲引擎分區分區分區OBServerOBServerSQL 引擎事務引擎存儲引擎分區分區分區OBServerOBServerSQL 引擎事務引擎存儲引擎分區分區分區總控服務MySQL 兼容OceanBaseOceanBase 工具體系工具體系OceanBase 工具體系為 OceanBase 數據庫從替換前、遷移中和使用后的不同階段提供全方位產品化護航,助力業務穩定增
26、長。01 評估改造自動采集數據庫畫像自動轉換兼容性評估回放壓測分布式改造02 實時遷移對象遷移全量遷移增量遷移數據校驗增量回寫數據訂正03 開發管理連接管理對象管理開發調試導入導出數據可視化模擬數據04 生產運維部署升級資源管理容災切換備份恢復監控告警自動巡檢05 復制訂閱增量復制雙向同步匯聚分發數據抽取數據入湖數據過濾06 安全管控權限管理操作審計安全協同變更管控數據脫敏安全治理07 診斷自治全鏈路監控SQL 診斷容量管理自動恢復自動優化智能運維遷移評估工具 OMA數據遷移工具 OMS開發者工具 ODC運維管理工具 OCPOceanBaseOceanBase 4.14.1 版本版本面向開發者
27、的里程碑版本單機產品形態單機產品形態滿足用戶業務無限增長新特性:旁路導入新特性:旁路導入解決用戶大數據萬里長征第一步OBKVOBKVOBKVOBKV:高可靠的分布式:高可靠的分布式 KVKV 存儲存儲易用性提升易用性提升:白屏化安裝:白屏化安裝解決用戶上手第一步易用性提升:集成易用性提升:集成 OCPOCP ExpressExpress用戶更輕量更便捷管理集群性能提升性能提升:TPTP 4.14.1 相對于相對于 4.04.0 性能提升性能提升 2020 40%40%4.X4.X 內核內核規劃規劃社區發展社區發展參與社區互動,留下你的足跡參與社區互動,留下你的足跡微信搜索:OBCE Issue
28、 或建議:加入群聊:Supports:Alex wang,chen,liying1029,and 5.5K others starred this repository.xSky,1008610010,lxiuwenL,and 1.2K others forked this repository.了解更多技術實踐案例麥思博(msup)有限公司是一家面向技術型企業的培訓咨詢機構,攜手2000余位中外客座導師,服務于技術團隊的能力提升、軟件工程效能和產品創新迭代,超過3000余家企業續約學習,是科技領域占有率第1的客座導師品牌,msup以整合全球領先經驗實踐為己任,為中國產業快速發展提供智庫。高可用架構主要關注互聯網架構及高可用、可擴展及高性能領域的知識傳播。訂閱用戶覆蓋主流互聯網及軟件領域系統架構技術從業人員。高可用架構系列社群是一個社區組織,其精神是“分享+交流”,提倡社區的人人參與,同時從社區獲得高質量的內容。