5 月 27 日,OceanBase Meetup 第 21 期在上海顺利开展,本次活动我们走进蚂蚁集团,来自蚂蚁、知乎、携程、陆金所、SQLess 开源项目、架构师、DBA 等技术专家围绕多场景下分布式数据库应用实践展开了深度探讨。
活动现场,OceanBase 开源生态资深研发总监封仲淹致辞,他在开场致辞中对参会人员表示了热烈欢迎,并在蚂蚁集团工作人员的陪同下,与会者参观了蚂蚁集团数字科技业务全景图,深入核心业务,感受蚂蚁集团企业的科技实力。
蚂蚁集团数据库专家 赵旭东 《蚂蚁集团数据库可靠性和成本实践》
企业在做数据库选型时,会优先关注数据库的可靠性、性能以及使用成本,一般来讲极致的可靠性和更高的性能会带来成本的上升。对此,蚂蚁数据库团队将内部使用 OceanBase 的经验进行总结,通过一些例子说明如何在保障可靠性要求的前提下,最大化地优化成本。蚂蚁集团数据库专家赵旭东围绕可靠性和成本实践这两个数据库选型时的关键问题,提出在金融业务场景下,基于 OceanBase 达成极致可靠性和最佳成本目标的方案。
赵旭东老师分享了蚂蚁集团在运维 OceanBase 上一些具体的经验:
- 在可靠性上, 充分评估业务对数据库的容灾诉求及业务场景。
- 数据库容灾方案需要满足多场景下的高可用,如典型容灾场景有单机故障、机房级故障、城市级故障和集群级故障等典型的容灾场景。
- 容灾方案的设计也需要结合业务场景、考虑数据库原生的高可用能力以及平衡成本,从而求得可靠性和成本的最优解。
2. 在数据正确性上,OceanBase 有多重校验机制来保障。
- OceanBase 自研的 2.0 通信协议具备校验数据在传输过程中的正确性;
- SQL 层有 DML 正确性防御检查机制;
- 存储层有多样的 checksum 校验
3. 在数据的安全性上,OceanBase 具备全数据链路的传输协议加密和两层密钥加密体系的透明数据加密来保障客户的数据不被泄漏。
4. 在降本增效上,依靠 OceanBase 强大的数据编码和压缩能力、冷热分离&历史库等技术实现最佳成本目标。
- 编码能力:蚂蚁依靠 OceanBase 强大的数据编码和压缩能力,在 Oracle/MySQL 迁移到 OceanBase 后,实现了存储成本的大幅下降。
- 冷热分离 & 历史库:通过历史库 DLM 平台,做数据冷热分离,既节省了存储成本,也收缩在线规模,提高了在线库性能和运维效率。
- 存储技术:同时蚂蚁数据库团队通过软件定义存储技术,将存储资源的利用率进一步提高
5. 在应急能力上,蚂蚁数据库团队将运维经验沉淀到 OAS 平台。
- OAS 平台集成了风险巡检、故障自愈、风险自治、容灾中控、应急平台、容量自治等能力。
陆控数据库团队架构师耿帅分享《陆金所一体化数据迁移 Ludbgate&&OceanBase4.X 场景实践》
陆金所的全站数据库国产化改造项目从 2018 年年中启动以来,在不做任何服务降级的情况下,通过上百次迭代和变更,把全站 100% 的数据库(涉及上万张表)从 Oracle 无缝切换至国产开源数据库,2020 年 8月下线掉全站最后 1 套 Oracle 数据库。历时仅 24 个月,全程零故障、零风险、不做服务降级,对用户不感知。"去O"数据库覆盖基金、网贷、信托、资管、银行理财、证券、保险、主账户等全金融场景,同时包括金融系统最核心的账务、资金、支付、交易和资产系统。陆控数据库团队架构师耿帅分享了陆金所一体化数据迁移 Ludbgate&&OceanBase4.X 场景实践。
耿帅介绍在集团银行信用卡营销系统使用的 Oracle 数据库,因为数据量达 500 亿,已经做了分表(150张表),迁移到 OceanBase、MySQL 之后,考虑到 OceanBase、MySQL 单机存储有上限,所以去 O 过程同时需要做分库的架构改造,从 1 个 Oracle 实例迁移到 10 个 MySQL 实例。该系统服务于口袋银行的一级菜单入口,每天有上千万次请求,对可用性和性能的要求非常苛刻,需要在去 O 的过程中做到对用户无感知和业务没有影响的变更方案。
量子平台(Databus)通过建一个迁移任务实现 1 个源端到多个目标端的表映射关系配置,同时满足一键自动化的表结构转换、全量和增量同步、全量和增量的数据校验,确保迁移对象按需求完全一致地高效便捷迁移到目标端解决信用卡项目的分库改造需求;通过应用侧完成双读写改造,通过 databus 完成全量增量数据迁移,通过应用双写模式的切换功能,支持应用对 OceanBase 数据库的功能和性能进行并行验证,解决应用容错率低(性能和功能的 100% 验证)的问题;通过databus的流量切换功能,可以在应用高频写入的情况下,仅仅通过 3 分钟就可以实现 150 张表的数据增量同步完成和数据检验一致,并把数据库流量从 Oracle 切换 OceanBase 、MySQL,同时让 OceanBase、MySQL 写入的数据可以秒级同步至 Oracle,实现生产流量平稳切换。
知乎数据库负责人代晓磊分享《知乎数据库稳定性建设》
数据库的稳定性是业务稳定的基座,因此保障数据库稳定运行是所有 DBA 的首要职责所在,知乎数据库负责人代晓磊在分享中展示了知乎如何通过梳理、调优、平台化等手段,保障数据库的稳定和高效运行。
当前,因面临各种数据库栈(SQL/NoSQL/NewSQL)、数据量+查询复杂度(亿级、TB size)、复杂的数据库架构、基础设施稳定性(硬件/网络/K8S)、 平台能力(监控报警、备份恢复)、 安全规范设计等诸多问题,数据库稳定性面临各种挑战。知乎从架构、容量、运维、安全等方面进行了全方位设计,通过稳定性综合管理、变更管理、可观测能力建设、监控报警、备份恢复、慢SQL治理、故障演练+故障复盘、DB 巡检、安全管理、平台化建设等手段,实现架构设计多云多活,后续,知乎会持续建设 SRE 团队及 Aiops 能力、加强可观测能力及全链路压测能力建设、建设混沌实验平台,全方位保障数据库稳定高效运行。
携程高级数据库工程师台枫分享《携程在 OceanBase 数据同步中的最佳实践》
MySQL 在业界流行多年,很好地支撑了携程的业务发展。但随着技术多元化及业务的不断发展,MySQL 也遇到了新的挑战,主要体现在:业务数据模型呈现多元化,OLTP 和 OLAP 出现融合的趋势;在 MySQL 数据库上慢查询治理成本高;使用传统的分库分表方案对开发不友好,核心数据库改造成分库分表方案,时间一般以年为单位。
分布式数据库能比较好地解决上述问题,同时也带来了新的挑战。2021 年,OceanBase 开源,携程开始逐步探索OceanBase的基本特性和应用场景。OceanBase 兼容大部分 MySQL 的功能和语法,同时提供水平扩展性、强一致性和高可用性,能满足业务需求并降低运维成本。因此,携程开始推进部分 MySQL 实例迁移到 OceanBase。为保证迁移顺畅,携程设计了迁移评估工具、OceanBase 迁移流程、OceanBase 监控大盘和 OceanBase 故障诊断工具等。携程高级数据库工程师台枫通过介绍 OMS、OBCanal 实践及 OceanBase 数据出海的探索为我们带来携程在 OceanBase 数据同步中的最佳实践。OMS 作为 OceanBase 官方提供的数据迁移工具有很多功能和特色,为OceanBase 上的数据迁移起到了非常重要的作用。在携程数据同步的过程中通过把 OMS 嵌入携程公司流程中,提高数据迁移的效率和易用性。Canal 作为一个 MySQL binlog 订阅工具,携程的不少核心业务与其耦合性高,平滑兼容原有的日志订阅生态保留原有的上下游数据格式,很好地适配用户习惯。数据同步工具的不断优化和兼容,推动分布式数据库 OceanBase 适配携程当前业务场景,更好地在携程落地,走出扎实的一步。
蚂蚁数据库智能平台负责人王建超分享《SQL 智能诊断优化产品 SQLess 蚂蚁最佳实践》
SQL 关系着业务的性能、吞吐和稳定性,蚂蚁业务场景对数据库稳定性的极致要求,孵化了这款覆盖 SQL 生命周期的诊断优化产品 SQLess,包含 SQL 防控体系、SQL 应急体系、SQL 优化体系三道防线。蚂蚁数据库智能平台负责人王建超分享了 SQLess(https://github.com/oceanbase/sql-lifecycle-management ),是一款聚焦于 SQL 领域的智能诊断优化产品,提供贯穿研发、集成、运维各阶段的 SQL 闭环能力,在研发阶段帮助用户优化 SQL,集成阶段阻断隐患 SQL 上线,运维阶段提供 SQL 全局分析,全方位的帮助用户解决 SQL 风险并提升业务性能,解决了蚂蚁数据库 SQL 领域内所有风险问题,是蚂蚁数据库的基础设施之一。
后续 SQLess 开源版产品更偏向研发视角,将优化建议更加简单明了的告诉用户,追求通用性、可扩展性,可以接入不同的数据库引擎和研发体系,目前已支持 OceanBase 和 MySQL,开源版包含了 SQL 优化器、SQL 解析、规则引擎等核心逻辑。




