光大银行分布式数据库技术体系建设与应用

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 光大银行分布式数据库技术体系建设与应用 演讲人:王莉莉
2. 自我介绍 王莉莉 About Me ⚫ 2012年毕业于北京航空航天大学,硕士研 究生。 ⚫ 深耕数据库领域9年,曾就职于百度、搜狗、 贝壳找房。 ⚫ 2020年初入职光大银行总行,从事分布式 数据库、开源数据库相关工作。
3. 目 录 1 引入背景 2 技术路线 3 技术应用 4 技术体系
4. 关系型数据库发展历程
5. 分布式数据库技术引入背景 躬身入局,参与推动技术成熟 传统商业数据库面临挑战 长期以来,国外传统商业数据库占 据国内主要市场,支撑银行关键系 统正常运行。随着银行业务快速发 展,传统集中式架构整体制约业务 处理能力,同时存在风险集中、部 署成本高、供应链等风险。 背景 技术和应用场景的深度融合是加速 技术成熟的有效手段,为满足光大 银行业务快速发展需求,在光大银 行“123+N”数字化战略指引下, 决定躬身入局,打造符合光大实际、 具有光大特色的分布式数据库技术 方案,进一步夯实信息技术领域的 技术基础。 落实国家金融科技发展规划 分布式数据库技术成为趋势 通过分布式数据库技术的横向扩展 能力提升整体处理能力,分布式数 据库技术在国内具有先发优势,但 仍处于持续发展、逐步完善阶段, 其技术流派纷呈、尚未统一,不同 技术方案各有优势。 近年来,“分布式数据库”已经从 互联网走进金融行业生产应用,成 为当前金融科技领域的发展重点, 人民银行《金融科技(FinTech) 发展规划(2019—2021)》中, 将“加强分布式数据库研发应用” 作为金融科技战略的重点任务之一。
6. 分布式数据库技术特点 ❑ 分布式数据技术将传统数据库的各 技术组件分布部署,通过网络协同 工作,从达到而分散压力,提升总 体处理能力的目的。 ❑ 由于组件之间的网络通信成本,在 提升总体交易处理吞吐量的同时, 可能延长单个请求的处理时间。 ❑ 由于选择进行分布式部署的技术切 入点不同,分布式数据库产品形成 多种路线,都在持续演进。 数据库 技术组件 开发接口 SQL解析器 备份恢复 权限管理 SQL优化器 可用性切换 对象管理 事务控制器 数据复制 监控报警 存储引擎 操作调度 … …
7. 路线1:应用层分布式架构 ❑ ❑ ❑ ❑ ❑ 通过应用架构设计,将业务 数据分散到多个数据库存储 ; 分库逻辑需综合考虑当前业 务访问特性,及未来业务需 求; 通过索引数据库或统一的分 库算法,使应用程序首先获 取需要访问的数据库; 同一交易可能需多次访问不 同数据库,需处理单边帐问 题; 底层数据库独立运行并通过 数据库复制等方式实现高可 用和数据灾备; 应用请求 1 2 分库索引 分库 或 算法 应用请求 应用请求 2 1 分库索引 分库 或 算法 1 2 分库索引 或 分库 算法 数据库 2 数据库 3 数据库n SQL解析 SQL解析 交易控制 交易控制 交易控制 交易控制 数据存储 与访问 数据存储 与访问 数据存储 与访问 数据存储 与访问 日志 复制 日志 复制 日志 复制 日志 复制 数据副本 数据副本 数据副本 数据副本 数据库 1 SQL解析 SQL解析
8. 路线2:数据库代理中间件 应用请求 ❑ ❑ ❑ ❑ ❑ ❑ 依赖分片键分散压力,分片键选择 至关重要; 访问代理将应用原始SQL解析成对 各个分片单独访问的SQL,并发送 到各个分片; 关联多表保持相同分片键,来保证 表连接在同一分片内进行; 数据存储在底层独立数据库; 通过数据库复制实现高可用和数据 灾备; 对应用适配要求较高,在适配的前 提下,扩展性较好; SQL解析 应用请求 应用请求 全局交易控制 分片配置 访问代理 分片键 1-100 分片键 101- 200 分片键 201- 300 分片键 … … SQL解析 SQL解析 SQL解析 SQL解析 本地事务控制 本地事务控制 本地事务控制 本地事务控制 数据存储 与访问 数据存储 与访问 数据存储 与访问 数据存储 与访问 日志 复制 日志 复制 日志 复 制 日志 复制 数据副本 数据副本 数据副本 数据副本
9. 路线3:NewSQL分布式数据库 ❑ ❑ ❑ ❑ ❑ sql above nosql架构,融合SQL特 性、事务特性和NoSQL易扩展特性 ; 数据以物理分片方式分布到多个存 储节点;分片多副本通过类Paxos 算法进行数据复制和Leader选举, 保障高可用性; 在SQL层进行查询条件下推,在存 储层实现分布式的数据扫描和过滤 ; 数据分片不强制要求与业务相关( 为达到最优效果,仍需与业务结合 设计数据分布模式); 通过分布式事务管理模块,在2阶 段提交的基础上做相应优化; 应用请求 应用请求 应用请求 SQL解析层 SQL解析层 SQL解析层 … .. 监控报警 数据分片(主本) 权限管理 数据迁移 数据分片(副本) 对象管理 操作调度 数据分片(副本) 优化器 数据存储访问层 全局事务 控制 数据分片(主本) 数据分片(副本) 复制 选举 切换 数据分片(主本) 数据分片(副本) 数据分片(副本) 数据分片(副本) 数据存储访问层 数据存储访问层
10. 光大分布式数据库技术路线 0 1 02 双轨并行技术路线 产品引入 自主研发 ⚫ 产品引入,跟进领域技术发展 和产品成熟情况。 ⚫ 打造光大自有分布式数据库技 术方案EverDB,形成知识沉淀、 打造人才队伍。
11. EverDB—光大自有分布式数据库技术方案 EverDB是光大银行自有知识产权、与光大科技、万里开源共研的一款分布式数据库产品。 2019年11月,EverDB 1.0正 式 发布,纳入行内Git仓库管 理 2019.11 EverDB 1.0 EverDB升级到1.1版本,新增序列 号功能,增强分布式事务能力和高 可用切换能力等,提升产品稳定性 和兼容性 2020.09 EverDB1.1 2020.08 获得著作权证书 EverDB 获得国家版权局正式 颁发的软件著作权登记证书 EverDB升级到1.2版本,数据复制组件 目标端新增Oracle、Kafka,增强备份 恢复、深度巡检等运维管控能力等, 持续提升产品稳定性和兼容性 2021.07 EverDB 1.2 2021.03 EverDB 引入混沌工程 EverDB 引入云原生基金会(CNCF) 开源混沌工程项目,应用于EverDB 测试,并集成到CI流程,提升产品发 版质量
12. EverDB技术特性 数据分片 支持多种分片策略:Hash(哈希)、 Mod(取模)、Range(范围)、 分布式 事务 动态 扩展 平台化 运维 兼容 MySQ L协议 List(列表) 分布式事务 数据 安全 数据 分片 段提交协议实现。 异构数 据复制 读写 分离 高可用 切换 支持ACID分布式事务,采用XA两阶 异构数据复制 支持将EverDB集群增量数据实时同步 到MySQL、Oracle、Kafka,支持 Json格式输出。 平台化运维 通过统一运维管控平台,实现自动化 部署、运行分析、容量分析、慢查询 分析、深度巡检、备份恢复等能力。
13. EverDB技术架构 JDBC/ODBC LVS/F5 EDB-BRIDGE 调 度 节 点 EDB-CONTROL 数 据 节 点     配置节点 zookeepe r EDB- GRID EDB- GRID zookeep er EDB- GRID zookeepe r auth m global m normal m parX m globaL s auth s global s normal s parX s normal s parX s auth s EDB-Grid,分布式数据库中间件,具有全局调度能力,实现SQL解析、分布式执行计划生成与调度、分布 式事务管理、集群扩缩容、故障切换等核心能力。 EDB-Control,可视化运维管控平台,支持集群部署、运行分析、深度巡检、备份恢复等运维能力。 EDB-Bridge,异构数据复制组件,支持将EverDB增量数据实时同步到MySQL、Oracle、Kafka等。 数据节点,数据存储引擎层,使用MySQL社区版本,负责数据的存储、本地事务管理、本地结果集计算等。
14. EverDB部署方案1:分布式方案 应用 GRID中间层 MySQ L 主 MySQ L 从 应用 GRID中间层 数据分片1 MySQ L 从 MySQ L 从 数据分片2 ➢ GRID组件负责自动化分库分表。 根据SQL语句中的访问条件和表的 分片键定义 ,将 SQL分 发 到 不 同 MySQL数据库,扩展单个MySQL 处理能力的不足。 ➢ 使多个MySQL数据库表现为一个 数据库对外提供服务,简化应用访 问。 ➢ GRID组件同时负责每个数据分片 内主从MySQL节点的高可用切换。 ➢ 通过两阶段提交,保障跨数据分片 的分布式事务完整性。 ➢ 解决扩展性问题的专用数据库技术 方案。 GRID中间层 MySQ L 主 MySQ L 主 MySQ L 从 应用 MySQ L 从 MySQ L 从 数据分片N
15. EverDB部署方案2:高可用方案 应用 GRID中间 层 应用 GRID中间 层 应用 ➢ EverDB 高 可 用 方 案 扩 展 了 原 生 MySQL数据库在高可用切换方面 GRID中间 层 的缺陷,在不依赖存储复制和大二 层IP打通的情况下,为MySQL提 供了完整的高可用部署方案。 ➢ 可用切换,并支持读写分离。 MySQ L 主 MySQ L 从 GRID组件负责MySQL主从节点高 ➢ MySQ L 从 高可用单元 事务隔离性、一致性和完整性与单 体MySQL相同,无分布式事务。 ➢ 此架构为光大私有云上主推的 MySQL 通用方案。
16. EverDB在光大的首个应用—云缴 费  EverDB率先应用于光大名品业务云 缴费,经过应用架构改造和分布式数 据库适配性改造,最终于2020年1月 顺利投产。  实施目标: ➢ Oracle RAC到分布式数据库EverDB;  项目收益: ➢ 解决传统集中式数据库单点处理性能 受限、热点资源制约问题; ➢ 提升云缴费系统可扩展能力; ➢ 产品多样化策略落地,降低供应链风 险。 云缴费是中国光大集团和中国光大 银行倾力打造的开放便民缴费平台
17. 云缴费实施重点 逻辑设计 • 分片表,选 择 合 适 分 片 键 , 将 开发设计 • 访问平均分配到各分区,需 要进行 Join 的分片表选择相 • 风险控制 连接驱动,MySQL JDBC、 • 跨 分 片 Join 、 复 杂 SQL 支 C; 持受限,数据导入导出需 和并行运行期,验证产品 MySQL语法和字段类型、 要额外设计; 的兼容性、可用性、性能, 化整为零,并行加速。拆 保障生产系统稳定; • 并行试运行,通过试运行 同分片键; 避免使用存储过程,选择 全局表,变更少的小表,与分片表 合适的MySQL字符集; 解为多个可分布式运行的 负载均衡,分布式数据库 “小”批量,充分利用分 合理设计逃生方案,在极 区; EverDB存在多个入口IP, 布式数据库资源; 端故障情况下保障数据安 普通表,数 据 量 有 限 , 读 写 都 通过F5实现负载均衡、高 批量与分布式数据库部署 全并支持核心业务运行。 较少,不需要和分片表 Join 。 可用切换、计算层的扩缩 解耦,增加数据检查校验 容。 机制。 可能有Join查询,被广播到所有分 • • 批量设计 • • • • 逃离方案设计,充分测试、
18. 云缴费系统部署架构 24节点EverDB分布式数据库集群,同城双中心部署。
19. EverDB持续推广 2020年光大银行加大了EverDB应用推广力度,统一支付系统、企业手机银行、对私手机银行、 信用卡非金融查询系统相继投产上线,系统运行平稳。 统一支付系统 整合各支付通道资源,并将通 道资源池化,通过智能路由对 外统一输出,形成统一的支付 服务。 企业手机银行 企业手机银行,服务于我行的对公 企业客户。提供企业金融服务查询、 转账、贷款、托管、在线预开户、 业务管理服务。 对私手机银行 对私手机银行,服务于我行对 私客户。提供对私金融服务查 询、转账、贷款、业务管理等 服务。 信用卡非金融查询系统 负责信用卡客户资料查询、账 单查询、历史交易记录查询等 非金融类交易处理。
20. 分布式数据库技术体系建立 从敏捷开发、生产运行、运营支持、标准规范四个维度构建分布式数据库技术体系。 面向敏捷开发 面向生产运行 面向运营支撑 标准规范 配置管理 负载均衡 监控告警 部署规范 版本管理 切换演练 日志分析 运维规范 混沌测试 应急预案 慢查询分析 开发规范 自动化测试 异构数据复制 深度巡检 持续集成 高可用部署 备份恢复 持续交付 逃离方案 全链路监控 技术积累 基础支撑 云平台(容器化/虚拟机/物理机)弹性 计算存储资源 容灾能力 两地三中心 设计文档 使用手册 技术文章
21. 光大银行数据库发展规划 ◼ ◼ 提升开源信创比例,降低传统商业数据库比例 大力推进云上数据库,有序推广分布式数据库; • 云上开源、国产化数据库作为通用数据库技术; • 分布式数据库作为解决扩展性问题的专用数据库 技术; ◼ 传统商 业数据 库 分布式 数据库 开源 数据库 信创 数据库 云上和云下一体化数据库PaaS平台 • 提供:资源服务+技术服务; • 云上:池化资源,自动部署,敏捷供给; • 云下:资源专用,设备专用,容量充分; 多种数据库技术 长期共存、互为 补充
22. THANK YOU!

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-24 21:59
浙ICP备14020137号-1 $访客地图$