《ODC:無鎖結構變更與冷熱數據分離解決方案_胡智娟.pdf》由會員分享,可在線閱讀,更多相關《ODC:無鎖結構變更與冷熱數據分離解決方案_胡智娟.pdf(24頁珍藏版)》請在三個皮匠報告上搜索。
1、胡智娟OceanBase 高級產品經理ODC:無鎖結構變更與冷熱數據分離解決方案Contents目錄01 ODC 是什么ODC 能給開發者帶來哪些幫助?02 無鎖結構變更為結構變更提供安全穩定的解決方案03 數據歸檔為在線庫提供冷熱數據分離解決方案,實現數據庫瘦身04 CY24 規劃ODC 今年計劃提供哪些能力01ODC 是什么ODC 是什么一個跨平臺的數據庫開發工具SQL 開發對象管理SQL 執行PL 調試導入導出一套針對數據庫變更管理的團隊協作平臺變更風險管控SQL 規范檢查變更審批數據脫敏操作審計一款全面覆蓋數據生命周期管理的產品數據生命周期管理數據歸檔數據清理自動分區SQL 開發數據源
2、 OceanBase EE/CE ODP Sharding MySQL Oracle、Doris數據查看與編輯 數據查看 數據編輯 列模式 結果集類 EXCEL 交互數據遷移 數據導入 數據導出 結果集導出對象管理 表和視圖 PL 對象 EVENT/JOB DBLINKSQL 診斷 執行計劃 EXPLAIN 執行剖析 PROFILE 全鏈路追蹤 TRACE數據生成 測試數據構建 場景化數據生成SQL 執行 SQL 編輯與執行 命令行窗口 腳本管理 代碼片段PL 生命周期 匿名塊窗口 PL 執行 PL 編譯 PL 調試數據庫運維 會話管理 全局變量管理 回收站管理ODC 是什么一個跨平臺的數據庫
3、開發工具超過 25 項重要開發功能,覆蓋對象管理、SQL 執、數據查看與編輯等常開發具能,同時提供了 PL 調試、數據庫運維、數據成等企業級特性。通過現代 WEB 架構提供方便的使用方式,桌面版可部署在 Windows、Mac、Linux系統,WEB 版用戶通過瀏覽器即可訪問服務。ODC 是什么一套針對數據庫變更管理的團隊協作平臺通過訪問權限、變更審核、穩定變更三個層次遞進風險控制,保障生產數據庫變更過程穩定、高效、可追溯。其中變更審核環節,通過 SQL 檢查規則、SQL 窗口規范、風險識別定制符合實際業務情況的管控規則。穩定變更變更審核訪問權限結構比對結構同步變更回滾無鎖結構變更無鎖數據變更
4、普通變更SQL 規范風險識別工單審批賬號體系項目角色權限庫訪問權限項目管理員DBA安全管理員開發生產測試限流保護性能檢測任務執行數據清理自動分區數據歸檔ODC 是什么一款全面覆蓋數據生命周期管理的產品ODC 提供直觀的界,使開發員能夠輕松地制定冷熱數據分離策略。5 分鐘即可構建冷熱數據分離系統。針對有動新增、刪除分區訴求的分區表,ODC 持為這些表設置分區創建和清理策略,ODC 根據戶配置的策略動管理分區,能有效地減輕 DBA 的工作負擔。02無鎖結構變更Online DDL 的要點最小化業務影響數據一致性保障平滑流量切換監控與控制故障恢復與回滾如何確保新表和舊表之間的數據一致性,保障數據不丟
5、失如何實時監控遷移進度、系統資源消耗以及可能的風險點,以便及時調整策略或中止操作在遷移過程中出現意外情況時,如何快速恢復原狀,保證業務不受長期影響無鎖結構變更Offline DDL 的影響Offline DDL 和 Online DDL獨占鎖導致所有對該表的讀取和寫入操作都將被阻塞,直到 DDL 完成。這會導致用戶請求長時間等待,甚至服務暫時中斷。大表的 Offline DDL 可能會觸發大規模的數據讀寫操作,產生海量 I/O,造成磁盤壓力驟增進而影響整個系統的性能。Offline DDL 期間,正在進行中的事務會被阻塞,直至超時或被迫回滾。這會導致用戶丟失未提交的數據。服務中斷,影響業務連續
6、性資源消耗,影響其它關鍵進程性能下降數據一致性風險,導致未提交的更改丟失如何在數據遷移后,快速、安全地將應用程序的讀寫流量從舊表切換到新表無鎖結構變更支持 offline DDL 自動識別,online DDL 走普通變更,offline DDL 走無鎖結構變更。使用 OB 成熟的遷移技術完成全量、增量數據同步,數據同步過程中根據數據庫負載限流。業務切流過程中會根據鎖表超時時間、重試次數等設置來執行,以保障切流過程的平滑。在 rename 過程中只需短暫地(1-3s)影響業務。變更任務默認保存原表結構及數據以保障緊急情況下變更回滾。發起結構變更Offline 變更自動檢查發起結構變更Table
7、ATableA_ 臨時表 1數據同步數據校驗+增量同步流量監控renameTableArenameTableA_ 臨時表 2ODC online DDL 流程無鎖結構變更ODC online DDL 的應用分類操作列操作1、支持增加列到指定位置2、支持列類型修改3、支持重排列(before/after/first)4、支持轉換字符集主鍵操作1、在表有非空唯一鍵的前提下支持增加主鍵2、在表有非空唯一鍵的前提下支持修改主鍵3、在表有非空唯一鍵的前提下支持刪除主鍵分區操作1、支持刪除分區2、支持 truncate 分區3、支持重分區4、支持降普通表轉化為分區表字段類型調整 面對產品需求頻繁變更,數據
8、庫結構需要隨之調整以適應新的業務邏輯或數據存儲需求。隨著數據量增長和查詢負載增加,數據庫管理員可能會發現某些字段類型并不適合現有數據分布或查詢模式。法規遵從性要求或企業內部數據安全策略的變化迫使調整數據庫字段的數據類型。修改主鍵 原有表缺少主鍵,需要增加主鍵。原有的主鍵設計不符合實際訴求,需要修改主鍵。03數據歸檔數據庫性能下降存儲成本上升數據運維難度增加數據增長帶來的挑戰選擇高壓縮比的數據庫冷熱數據分離為冷數據選擇 CPU 配置較低且存儲更便宜的服務器實現在線庫瘦身存儲成本下降數據庫性能提升數據運維難度降低數據歸檔OBMySQLOracleOB數據庫性能下降存儲成本上升數據運維難度增加數據歸
9、檔的流程穩定支持實時監控,自動限流靈活支持靈活的歸檔/清理條件配置(支持自定義變量)支持多種調度策略安全支持數據一致性校驗可靠支持歸檔任務異?;貪LTable_ATable_A在線庫MySQL/Oracle/OB歷史庫OB數據同步源端、目標端資源監控自動限流數據清理熱數據冷數據數據歸檔任務界面新建歸檔任務查看歸檔執行記錄查看歸檔任務信息數據歸檔關鍵技術解讀分片并行實現高性能歸檔 基于主鍵的分片策略 將歸檔任務拆分成多個較小的子任務 多個線程并發處理先校驗再刪除確保歷史數據庫可信 支持源端、目標端數據一致性校驗多維度限流保障在線庫穩定運行 主動限流:流量限制、行數限制 被動限流:根據 CPU、內存
10、使用情況限流斷點恢復更適應大數據規模 每個子任務會保留一個滑動窗口用于記錄事務的成功狀態 失敗的事務即為斷點,會定期同步到數據庫中 重跑時獲取每個子任務的斷點信息,從斷點位置繼續運行四大關鍵技術分批分片多線程全記錄檢查清理線程數據清理在線庫歷史庫數據歸檔用戶案例:理想汽車之數據庫瘦身、降本增效業務挑戰在線日志型數據龐大,缺少有效清理手段業務數據快速增長,需要控制數據規模業務場景復雜多樣,多表聯合過濾等多場景歷史數據歸檔:在線庫(SSD磁盤)-歷史庫(SAS磁盤),將數據歸檔到廉價存儲的歷史庫,節省約三分之二存儲成本,提高在線庫性能和運維效率過期數據清理:直接原地清理過期數據,100%節省存儲成
11、本異常數據回滾:數據歸檔后,發現異常后可以從歷史庫進行數據恢復,將數據回滾到在線庫功能價值降本增效:大量歷史數據訪問少、數據量大,清理過期數據降低存儲成本數據庫瘦身:業務快速增長,數據規模日趨龐大,縮小在線庫數據規模提升性能和穩定性數據歸檔create_timeTable_A 30 Days歸檔進程歸檔進程歸檔進程在線庫Table_ASSD 盤刪除歷史庫Table_ASAS 盤數據同步create_time30 Days異?;貪L04ODC 今年規劃產品迭代路線圖支持 AP 業務場景開發,結合 AI 提效,持續打磨數據歸檔及變更風險管控能力Q1 支持 Oracle 數據源 支持庫級別訪問控制 支
12、持通知告警 支持結構比對 支持 Doris 數據源Q2Q3Q4 數據歸檔支持 OBOracle 模式 支持邏輯庫 DDL 變更 支持多庫(pipeline)變更 支持無鎖數據變更 支持實時查詢剖析 支持表級別訪問權限控制 支持從 Oracle 歸檔到 OB 支持 dbt 開發 支持基于狀態的結構變更 支持列級別訪問權限控制 支持自然語言轉化為 SQL、圖表 支持項目內腳步與代碼片段共享 支持從 OB 歸檔到文件、云存儲 支持從 PG 歸檔到 OB 支持關聯(外鍵)場景進行歸檔 支持 AI 任務編排 支持 DAG 任務編排 支持輕量報表管理 支持異構數據庫結構比對/同步 支持歸檔過程中的全量、增量結構處理 數據歸檔/清理支持邏輯庫官網介紹