《3-4 弓子介-從螞蟻集團數據庫演進之路看未來數據庫的選擇.pdf》由會員分享,可在線閱讀,更多相關《3-4 弓子介-從螞蟻集團數據庫演進之路看未來數據庫的選擇.pdf(24頁珍藏版)》請在三個皮匠報告上搜索。
1、從螞蟻集團數據庫演進之路從螞蟻集團數據庫演進之路看未來數據庫的選擇看未來數據庫的選擇弓子介(泓影)泛互聯網&海外架構師負責人OceanBase 歷程十年磨一劍第一篇OceanBase 發展歷程及構架演進1.0 時代:堅定走向分布式架構2.0 時代:原生分布式數據庫3.0 時代:混合引擎、混合部署4.0 時代:分布式一體化架構多個業務系統產品立項第一個用戶2010擴大使用范圍2013核心交易上線支付寶交易金融級核心業務2014全業務覆蓋核心賬務核心交易支付2016多家金融客戶互聯網核心系統2017打破世界紀錄Oracle 兼容公有云服務TPC-C 6088萬2019獨立商業化HTAP 引擎TPC
2、-C 7.07億走向通用行業、更多頭部客戶核心系統2020規?;茝VTPC-H 1526萬社區版發布試點海外客戶2021單機分布式一體化架構公有云上線公有云北美站點開服2022批量處理,企業級特性,HTAP公有云走向海外2004年支付寶誕生的第一筆擔保交易系統1Oracle2008年一庫闖天下技術棧:webx技術棧:IOE主備切換支付寶早期技術架構(2004年-2008年)系統2系統3Oracle支付寶早期技術架構(2008年-2014年)雙11秒級支付峰值雙11秒級支付峰值200920102011交易支付賬務交易分庫1交易分庫2支付主庫支付備庫主備切換賬務主庫賬務備庫主備切換業務推進業務推進
3、交易分庫3交易分庫4交易備庫3交易備庫4交易備庫1交易備庫2垂直拆分SOA化-拆!拆!拆!(20082014年)技術棧:IOE技術棧:SofaStack水平拆分主備延遲了規?;\維帶來的挑戰CPU使用率告警表太大了,不敢做DDL了磁盤容量告警數據庫升級機器又down機了,快切實例部署問題排查數據壞塊性能又抖了數據量太大了,快幫我拆表連接數不夠了SQL ReviewSQL 調優7*24 oncallOracle DBA時間碎片化響應時間幸福感支付寶技術架構重大轉折點品牌策劃與定位A2015年527大規模癱瘓事件輿情影響OceanBase 產品核心亮點100%自主知識產權的分布式數據庫第二篇Oce
4、anBase 數據庫產品架構Paxos協議+無共享架構+三副本多副本:一般部署為三/五個Zone,每個Zone由多個服務器節點(OBServer)組成,基于Paxos 分布式協議的高效高可靠工程實現RPO=0,RTO500MB/s 無需重新hash每條記錄 應用無感知,無需像分庫分表那樣對應用配合大量改造 同樣支持在線縮容P4P8P4P8P4P8P2P2P2P6P6P6P2P6P6主副本PP從副本核心優勢-平滑高可用/容災切換ZONE3 機房整體故障,OB Server Z3-1和Z3-2 全部Crash!P1P3P2P7OBServer Z1-1ZONE1P5P6OBServer Z1-2P
5、1P3P2P7OBServer Z2-1ZONE2P5OBServer Z2-2P1P2P3OBServer Z3-1ZONE3OBServer Z3-2Driver/ProxyP5P7P4P8P4P8P4P8P2P2P2P6P6P6P3的兩個原從副本、P8的兩個原從副各自本paxos協商出1個新的主副本提供服務主副本PP從副本OB Server Z3-1上的P1/P2/P4和Z3-2上的P5/P6/P7均是從副本,它們各自剩下的1主1從兩個副本依然構成多數派,不影響業務;P6P8基于Paxos協議的典型多副本(三副本或以上)部署:數據強一致性 持續可用 主備自動切換,對上層業務透明 單機、機
6、房、城市級故障:OB內部自動故障切換,不停服務(RTO Paxos多租戶:實現數據庫內核級虛擬化,滿足數據安全隔離的同時提供基于業務畫像的可伸縮計算資源,同時通過Leader打散實現混部。關鍵設計描述OceanBase 存儲引擎LogsUpdateReplicas增量 MemTable(WOS)ROW Cache轉儲 SSTable基線 SSTable(ROS)DiskRow-LevelIn-MemoryRedo/MVCCMemoryIn-Memory HashIn-MemoryB+-TreesScanBig-QueryGetSmall-QueryBlock Cache合并前多個轉儲版本合并后
7、DiskMemtableMemory3.CompactTablet LogSSTable 1SSTable 2SSTable 3DiskMemtableMemory2.FlushTablet LogSSTable 1SSTable 2DiskMemtableMemory1.WriteTablet LogSSTable 1Write Path基于LSM理念自研存儲引擎,未采用RocksDB宏塊與微塊:微塊是數據的組織單元,宏塊則由微塊組成。Compact 操作時,可以在宏塊和微塊兩個級別判斷,是否可以復用。輪轉合并:用多副本來解耦 Compact 操作和同時段的查詢操作,避免磁盤 I/O 上的競
8、爭。IO隔離:控制User IO/System IO,減少對前臺請求影響Encoding:按行存儲,按列編碼,類似Google PAX行列混合存儲,一套存儲支持TP/AP。CheckSum:三副本compaction的checksum,防止靜默錯誤。關鍵設計描述OceanBase SQL引擎schemaParserOptimizerCode GeneratorCost EstimatorPlan CacheC1nC2SQLExecutionSQL CompilerSQL statementApplicationResolverQuery TransformerParse TreeStmtXfo
9、rmed StmtLogical PlanPhysical PlanFast ParserAdd to cachemisshitOracle/MySQL 兩套Parser,兼容MySQL 5.7;Oracle 11gPlan Cache:極大的節省語句的執行時間,幾ms-幾百us同時可以精細化的實現秒級的 SQL限流、綁定。SPM:計劃灰度演進,確保永遠往好的計劃演進,不會出現CBO代價模型選錯計劃。ACS:典型的大小賬號場景:存在數據傾斜,不同的參數對應不同計劃的問題,實現了自適應計劃匹配。大查詢隊列:查詢隊列優先級區分隔離,防止大查詢將實例打爆關鍵設計OceanBase數據復制-Paxos
10、#1-#3為已經持久化和應答的事務日志#5-#9為已經收到但卻不能持久化和應答的事務日志#4為未收到的事務日志。123456789Paxos與Raft:最本質的區別,在于是否允許日志空洞。Raft必須連續,不允許空洞。Multi-Paxos允許日志空洞存在,應對復雜網絡環境,更為魯棒。WAL:一次Clog(Tidb:raft log/rocksdb log)示例:順序投票策略對于主庫的負面影響比較嚴重:出于性能提升的原因,數據庫的多版本并發控制(MVCC)使得不存在相互關聯的事務得以并發處理,但上述順序投票策略使得事務#5-#9可能被毫不相干的事務#4阻塞,且必須hold在內存。ClientS
11、tateMachinePaxosModuleA=1B=2A=1B=2LogStateMachinePaxosModuleA=1B=2A=1B=2LogStateMachinePaxosModuleA=1B=2A=1B=2LogOceanBase產品家族第三篇OceanBase 工具體系OceanBase 工具體系為 OceanBase 數據庫從替換前、遷移中和使用后的不同階段提供全方位產品化護航,助力業務穩定增長。遷移評估工具 OMA數據遷移工具OMS開發者工具ODC運維管理工具 OCP評估改造評估改造0 01 1自動采集自動轉換回放壓測數據庫畫像兼容性評估分布式改造實時遷移實時遷移0 02
12、2對象遷移增量遷移增量回寫全量遷移數據校驗數據訂正生產運維生產運維0 04 4部署升級容災切換監控告警資源管理備份恢復自動巡檢增量復制匯聚分發數據入湖雙向同步數據抽取數據過濾權限管理安全協同數據脫敏操作審計變更管控安全治理全鏈路監控容量管理自動優化SQL 診斷自動恢復智能運維連接管理開發調試數據可視化對象管理導入導出模擬數據開發管理開發管理0 03 3復制訂閱復制訂閱0 05 5安全管控安全管控0 06 6診斷自治診斷自治0 07 7遷移評估工具 OMA產品架構產品架構 完備的數據庫畫像:OMA 通過連接源端數據庫進行深度采集分析,生成源庫的數據庫畫像,方便用戶了解目前數據庫的拓撲情況、應用拓
13、撲情況和數據庫的整體負載,會話情況,熱點數據和特殊表分析,以便制定相應的遷移策略。提供多種評估方式:支持連接到指定數據庫,自動獲取和掃描源數據庫對象以及 SQL 語句,也支持從客戶端工具連接到指定數據庫,獲取 DDL 語句進行評估。OMA 還支持解析代碼框架或負載捕獲等離線文件中的 SQL 語句,對其兼容性進行評估。詳細的評估報告以及轉換建議:評估完成后,OMA 會自動生成詳細的評估報告,包括兼容性評估結果和性能評估結果、數據庫畫像以及分布式遷移可行性分析和風險分析,方便用戶根據評估結果改造計劃制定遷移方案。產品特性產品特性產品優勢產品優勢OracleMySQLPostgreSQL數據收集流量
14、采集流量回放SQL 優化SQL/PL 改寫負載評估對象兼容性評估DDL 轉換SQL/PL 兼容性評估SQL/PL 改造數據庫/應用畫像配置推薦源碼評估修改適配評估報告性能報告遷移計劃改造優化對接數據庫遷移OceanBase業務壓測驗證支持直連到指定數據庫或者通過 OMA 提供的數據庫采集器,來自動獲取和掃描源源端數據庫系統中全部數據庫對象以及自定義范圍的 SQL語句;提供兼容性評估分析、遷移可行性分析和風險分析。全方位采集分析針對未完全兼容的場景,OMA 會基于 OceanBase 多年沉淀的核心業務遷移以及大規模驗證的轉換方案最佳實踐,提供遷移至 OceanBase數據庫的分布式改造方案。智
15、能改造方案支持評估 Oracle、MySQL、PostgreSQL、TiDB 和 DB2 LUW 等主流數據庫的常用版本與 OceanBase 數據庫的兼容性,包括 Table、Index、View、Sequence、Synonym、Function、Procedure、Package、多種數據庫和對象支持無需修改體統配置,極大降低對源端業務系統開銷。針對業務數據和敏感信息提供自動過濾和脫敏處理策略,最大程度保障用戶的數據資產安全。安全可靠數據遷移工具 OMSOracleMySQL/MariaDBDB2 LUWTiDBPostgreSQLOceanBaseKafkaRocketMQDataHu
16、bAnalyticDBMySQLOracle對象評估對象轉換數據遷移數據匯聚數據校驗修復建議回流保護持續校驗數據轉換抽取過濾數據同步消息訂閱容災雙活灰度切流DDL同步DML過濾 在線數據遷移:支持將Oracle、DB2 LUW等多種異構數據庫在線遷移至 OceanBase 數據庫,完成切換后支持將 OceanBase 數據庫上所有的變更數據反向同步至源端數據庫。實時數據同步:支持 OceanBase 與自建 Kafka、RocketMQ 之間的實時數據同步,支持數據過濾,提供完備的同步管理能力,廣泛應用于實時數據倉庫搭建、報表分流等業務場景。一站式交互:提供數據遷移過程的全生命周期管理,在管控
17、界面上完成數據遷移和數據同步任務的創建、配置、監控和管理,交互簡單方便。多重數據校檢:多種方式的數據校檢和保護,全面高效的保證數據正確性,展示差異數據,提供快速修復能力。產品架構產品架構產品特性產品特性產品優勢產品優勢提供數據傳輸的全生命周期管理,支持語法轉換,數據轉換,任務管理等功能,提供遷移評估、數據遷移、數據訂閱、數據校驗等產品形態,從而方便客戶輕松上“OceanBase”,并滿足企業客戶的多樣化需求。一站式服務提供可視化,所見即所得 Web 管控平臺,輕松完成數據傳輸項目的創建、任務配置和傳輸組件的監控運維,以及鏈路維護和故障診斷等便捷的操作,并提供多種保護級別支持定制化配置,提供實時
18、的監控報警。簡潔高效基于實際業務場景,客戶可以靈活選擇合適的遷移、同步類型和功能,支持組合成不同的解決方案。同時提供多樣性的部署模式及靈活的橫向和縱向擴展、收縮能力,保障滿足延遲敏感客戶的業務需求。靈活化OMS 使用多并發、并行復制和壓縮加密傳輸等技術來保證遷移或同步項目都能擁有優異的傳輸性能。數據全量遷移可達 38萬 RPS(Rows Per Second,每秒增量同步至目標表的數據行數),增量數據同步可高達 10萬RPS 及數據校驗可達 66萬RPS,從而提供穩定的秒級傳輸服務。高性能 對象管理:支持完整的數據對象和數據類型,引導式流程創建數據庫對象,可視化對象修改,支持回收站機制。Web
19、 控制臺:通過 WebSQL 幫助開發人員使用 OceanBase 的各種特性和功能,支持 MySQL 和 Oracle 語法 高亮、格式化、智能提示、友好的 snippets 等特性,提供類似 Excel 的可視化數據編輯能力。導入導出:為 OceanBase 量身打造的高效數據導入導出工具,具備動態負載均衡和斷點恢復等能力。安全審計:支持 14 類審計事件,確保安全合規,重要事件可追蹤,審計報告可下載。流程管控:根據任務類型限制用戶發起的變更內容、定制不同的審批流程,達到數據庫變更安全的作用。對象管理SQL 執行監控診斷執行設置模擬數據數據庫管理PL執行導入導出腳本管理ER建模開發者工具O
20、ceanBase開發者工具SQL解析權限框架數據源適配任務框架對象管理SDK審計框架連接管理配置框架基礎框架管理員開發者DBA桌面版Web版云平臺用戶角色資源管理變更流程操作審計生產變更權限管理風險規則流水線數據脫敏開發集成管控協同OceanBase開發者工具 ODC產品架構產品架構產品特性產品特性產品優勢產品優勢ODC 是為 OceanBase 量身定制的開發平臺,其提供的表、視圖、函數、存儲過程、程序包、觸發器、類型和同義詞等對象可視化管理的能力是完全根據OceanBase 的內核能力定制,適配性好,體驗更佳。量身定制ODC 整體風格簡潔明了,通過逐步引導,可快速進行表、視圖、函數、存儲過
21、程、程序包、序列、觸發器、類型和同義詞等對象的開發與管理工作。輕松上手ODC 內置了一系列工具來輔助開發,如代碼片段、執行計劃分析、模擬數據、會話管理、回收站管理、導入與導出等。豐富的工具集能力ODC 支持客戶端版和 Web 版,其中客戶端版可在 Windows 和 Mac 平臺上安裝。Web 版支持在 Linux 平臺上部署,支持 X86 和 ARM 架構。多形態跨平臺“監控-告警-診斷”一體化診斷自治服務自感知 自擴容 自優化 自安全數據庫監控性能報告OBAR運維管控部署、升級、擴縮容、備份恢復、配置變更等全生命周期管理的全自動化運維。整體概要總結系統活動情況S Q L 運行狀況緩存與隊列
22、等待信息參數配置總計超過 400+項監控指標客戶自研第三方運維平臺開源工具商業工具開放 API 提供外部系統的接入OceanBase 集群ODP 集群ODP 1ODP 2ODP 3多集群統一管控OCP Web 管控臺集中化運維管理平臺診斷監控告警應急OCP 管理服務基礎數據 運行數據日志采集 統一存放 資源管理:提供 OceanBase 集群,租戶,主機,軟件包等資源對象的全生命周期管理,包括管理,安裝、運維、性能監控、配置、升級等功能。監控告警:全局監控及告警設置,支持所有資源對象不同維度,實時準確的監控告警需求,支持自定義告警,滿足定制化的告警需求。備份恢復:支持集群和租戶表級別全量備份、
23、增量備份及日志備份,支持周期性備份任務、多地備份,支持在備份周期內任意時間點的恢復,支持多種云平臺介質的備份恢復。自治服務:日常運維的過程中,在”發現-診斷-定位-優化/應急“的鏈路上更好的人工或者自動化處理,極大的降低用戶運維OceanBase 的成本。OCP 支持多集群、多可用區的部署模式。增強了對 OceanBase 主備、跨城集群的運維管理能力,即保障了災難發生時 OceanBase 集群穩定,也實現運維管理的高可用性。高可用OCP提供了基于用戶角色的權限隔離機制,保障了資源的使用安全,OCP還提供了對所管理資源的企業級監控、告警、巡檢、自治等功能,實時守護集群的運行安全。安全OCP
24、提供了開放 API,支持生態用戶通過標準的 API 接口使用 OCP資源,同時 OCP 的監控、告警等數據,支持無縫對接到用戶統一運維平臺,降低用戶的運維復雜度。生態對接OCP 基于 Web 的可視化管理能力,將復雜困難的數據庫運維管理工作,通過產品能力實現標準化、自動化,用戶可通過簡單的頁面操作來實現專家級數據庫運維管理工作。簡單易用運維管理工具 OCP產品架構產品架構產品特性產品特性產品優勢產品優勢OceanBase 公有云產品架構OceanBase 公有云(OceanBase Cloud)是構建在阿里云、AWS 等全球主流公有云基礎設施上,基于完全自主研發的原生分布式數據庫,提供彈性擴展
25、、卓越性能、主流兼容的高性價比的數據庫云服務。為客戶在云上提供服務、彈性、監控、診斷、開發、遷移、備份、恢復的端到端數據庫服務化解決方案。運維管控平臺國內站點杭州上海深圳海外站點北京新加坡印度尼西亞云服務云服務工具工具數據庫數據庫云基礎云基礎設施設施集群管理租戶管理性能監控告警管理容量管理備份恢復SQL診斷SQL審計安全管理歷史事件OMAOMSODCOCP第三方工具OceanBaseOceanBase 數據庫內核數據庫內核MySQL兼容HTAP數據高壓縮Oracle兼容分布式事務數據透明加密Paxos多副本并行執行高可用(RP0=0)透明擴展Online DDL單機版標準集群版歷史庫版標準集群
26、版公有云云服務公有云云服務多云服務多云服務阿里阿里云云AWSAWS中中國云廠國云廠商商海外云廠海外云廠商商美國關鍵優勢傳統行業存量業務云化,傳統行業互聯網創新業務,業務量難以預估,原線下基礎設施不能滿足算力要求。多云統一管理支持大型客戶多云業務部署,幫助客戶屏蔽底層基礎設施技術復雜度,解除客戶與云廠商的 Lockin。行業云作為云服務商向內外部客戶提供云基礎服務,快速部署與銷毀,彈性擴展,對服務進行計量計費。中長尾客戶業務云化降低中長尾客戶使用門檻,滿足客戶成長型要求,支持客戶從小到大,從國內到海外的業務、合規等訴求。適配 AWS,騰訊云等國內外主流云廠商,7*24 小時專業運維服務,MaaS與 DBaaS 服務靈活管理模式優勢多租戶管理,技術棧統一,透明水平擴展,兩種兼容模式,無特定硬件和基礎設施依賴,軟件訂閱優勢小規格、歷史庫、本地盤、單機版多種方式高性價比低門檻起步,多機房容災,國內海外站點支持優勢私有部署/公有云/多云,透明水平擴展,Oracle 兼容優勢傳統業務上云THANKTHANK YOU!YOU!