1、全球敏捷運維峰會廣州站分布式數據庫及數據中間件能力驗證與實踐全球敏捷運維峰會廣州站NewSQL分布式數據庫實現方案New Architecture TiDB CockroachDBTransparent Sharding Middleware Apache ShardingSphere MyCatDatabase-as-a-Service Amazon Aurora PolarDB全球敏捷運維峰會廣州站基于開源分布式數據庫架構選型思考通過積累最佳實踐方法和經驗,設計出符合業務需求和管理需求的開源架構,以滿足創新業務的運行支撐要求。2.使用開源架構來支撐創新業務建立開發和運維部門中的核心開源技術
2、團隊,實現開源技術領域的可持續性的發展。充分利用自身條件,與外部開源社區建立良好溝通和互動渠道:”請進來”或”走出去”。4.鍛煉具備相關技術的團隊建立部署管理,配置管理,日志管理和監控告警管理等多種手段,實現對開源軟件和開源架構的安全可控。3.建立完善的保障制度建立正確的開源軟件選型標準。社區成熟度、軟件成熟度1.選擇適合的開源技術全球敏捷運維峰會廣州站甜橙金融深度參與開源分布式數據技術分布式數據中間件開源項目Apache 孵化器項目(2018/11/10)9200+Star京東數科項目發起及維護甜橙金融深度參與及貢獻ShardingSphere PMC 成員NewSQL 分布式數據庫開源項目
3、CNCF 孵化器項目(2019/5/21)21000+StarPingCAP 項目發起及維護甜橙金融深度參與和投產實踐聚焦多中心多活及云原生領域能力積極參與國內數據庫及開源社區智能運維,云數據庫管理,數據分布式傳輸等領域長期研究人工智能,區塊鏈,安全,大數據領域積極實踐全球敏捷運維峰會廣州站ShardingSphere 功能架構核心功能數據分片分布式事務數據庫治理彈性伸縮管控界面實現方案Sharding-JDBCSharding-ProxySharding-Sidecar云原生無中心零侵入Apache ShardingSphere全球敏捷運維峰會廣州站ShardingSphere 的技術優勢與
4、特點數據分片為核心的多種解決方案多種形式接入數據編排與治理微內核&開放生態全球敏捷運維峰會廣州站甜橙金融 ShardingSphere應用架構 Java應用通過Sharding-JDBC接入 通過DTS將MySQL數據同步到ES&HBASE中,滿足OLAP場景。MOZIS運維平臺通過Sharding-Proxy接入,提供日常運維支持 利用配置中心對相關配置信息進行統一管理全球敏捷運維峰會廣州站甜橙金融 ShardingSphere應用實踐 應用性能監控 基于pinpoint進行的二次開發。采用字節碼增強技術 編寫plugin完成ShardingSphere核心鏈路方法的監控平臺架構全球敏捷運維
5、峰會廣州站甜橙金融 ShardingSphere應用實踐 應用性能監控全球敏捷運維峰會廣州站甜橙金融 ShardingSphere應用實踐 Proxy優化Sharding-Proxy多邏輯數據源支持Sharding-Proxy Backend NIO 優化全球敏捷運維峰會廣州站甜橙金融 ShardingSphere應用實踐 可視化管控 數據分片配置管理 運行實例編排管理 自動彈性擴縮全球敏捷運維峰會廣州站大并發強一致分布式數據處理場景的思考業務場景需求分庫分表模式NewSQL 模式業務維度的選擇和切分適合業務中數據模型容易按照單一維度切分和查詢的場景。(比如時間+Hash)不限維度的自由查詢和
6、數據建模(與單機數據庫相同)跨庫跨節點復雜計算數據 切分后無跨節點跨庫聚合及復雜關聯查詢的業務很友好和便利不限維度的進行跨節點跨庫 的 JOIN 關聯及聚合計算。(包含計算下推能力)分布式強一致事務數據 切分后無跨節點跨庫聚合及復雜關聯查詢的業務很友好和便利適合聯機交易業務有強一致分布式事務剛需的場景大表占比數據庫內大表(千萬到億以上行記錄規模)數量占比較小的業務場景比較便捷數據庫內大表行記錄規模和數據規模沒有什么限制,適合數據快速增長的業務混合負載(HTAP)適合業務單一負載,尤其是計算復雜度低的大并發聯機交易適合同時存在有 OLTP 聯機交易和 在線實時分析的業務場景彈性在線熱擴容對于業務
7、中有足夠變更窗口,不需要在線彈性熱擴容的場景比較輕量便利。適合需要彈性在線熱擴容,提高計算吞吐和存儲容量的場景。計算和存儲自動平衡對于擴容后對數據沒有計算重平衡及存儲重平衡要求的業務比較方便。適合業務在擴容后 需要做自動的計算重平衡和存儲重平衡的場景全球敏捷運維峰會廣州站甜橙金融 數據處理技術方案選擇思考技術方向/評估維度容量閾性能閾大表數量分片規則增長趨勢HTAP拓撲標準RDS 方案(單實例)3T3T&20000 QPS3T20000 QPS=3N/A動態擴容支持動態擴展調整注:以上為 甜橙金融 根據自身業務特點,以及對分布式數據處理技術的實踐總結的選擇路徑,并在未來隨著技術的進行靈活調整。
8、其他用戶也需要通過自己的業務特點來有針對性的設計對應的方案路徑。全球敏捷運維峰會廣州站典型 TiDB 應用架構基于 2013 年 Google Spanner/F1 論文基于 2014 年 Stanford 工業級分布式一致性協議實現 Raft 博士論文水平線性擴展、強一致分布式事務、故障自恢復的高可用(非主從)、跨數據中心多活全球敏捷運維峰會廣州站甜橙金融 TiDB 研究與實踐 聯機交易負載場景財務稽核,對賬,反洗錢,賬單,營銷等重要業務Multi Raft 協議 保證節點間副本多數派強一致數據透明打散,庫內業務大表不用人工切分,表記錄到 億/十億及以上規模上性能無影響去中心化的 2PC(兩
9、階段遞交)確???Region 事務的強一致,達到 ACID 標準業務不需要做分庫分表改造,CRUD 行為與單機保持一致表上任意列上都可以做分布式查詢計算與更新操作計算支持過濾,聚合等下推到 數據節點分布式計算MySQL JDBC 和 Mybatis ORM 直接使用直接在線擴縮容,業務代碼和數據模型不需要做調整計算層和存儲層均可通過節點增加線性擴展數據庫的計算吞吐和容量集群角色配置物理節點并行實例數量部署拓撲計算節點32 Core,256GB Mem33每臺啟動 1個 TiDB 進程,可在線 增加存儲節點48 Core,256GB Mem,3TB SSD*3412每臺啟動 3 個 TiKV
10、進程,可在線增加投產 OLTP 交易集群典型配置:全球敏捷運維峰會廣州站甜橙金融 TiDB 研究與實踐 跨中心多中心多活容災場景全球敏捷運維峰會廣州站甜橙金融 TiDB 研究與實踐 跨中心多中心多活容災場景根據:Site(dc=)映射物理中心Zone(zone=)映射邏輯區Rack(rack=)映射物理機架Host(host=)映射物理主機全球敏捷運維峰會廣州站甜橙金融 TiDB 研究與實踐 云原生分布式數據庫場景服務器節點(Node A.Node N)數據庫組件實例調度在不同硬件節點 根據負載和調度策略動態分布 可定制調度策略,改變默認的行為 集群實例交錯在不同硬件節點 容器集群擴縮配合 TiDB 集群擴縮 API 封裝集成到上游統一運維管理平臺 監控告警上報匯聚到統一監控/告警平臺 高可用管理和自動 Failover 通過AZ(可用區)分布到多個可用區域甜橙金融 云服務平臺High Level Management API 全球敏捷運維峰會廣州站甜橙金融 TiDB 研究與實踐 HTAP 混合負載場景通過 Raft Learner 獨立同步一套列存Raft Learner 提供極低消耗的副本同步Raft Learner 讀取協議配合 MVCC 提供強一致的讀取通過 Label 進行物理隔離,AP/TP 作業互相無影響列存列存全球敏捷運維峰會廣州站THANK YOU!