新东方基于OceanBase跨云多活架构与HTAP实践探索 周永强 新东方数据库资深工程师 新东方教育科技集团 作为国内著名私立教育机构,业务涵盖素质教育、国际教育、成人教育、智慧教育、直播电商等多个板块;在报转退、优惠、商机等业务系统里SQL逻辑复杂多样。为了保障业务系统稳定性,我们需要有一套低延时、高性能、高可靠的数据库基础架构,以满足日益增长的业务需求。 目录 Contents 01新东方商机系统数据架构演进与数据库选型 02基于OBCloud多云异地容灾架构实践 03OceanBase后续在新东方项目的落地实践 01 新东方商机系统数据架构演进与数据库选型 新东方商机系统数据架构演进与数据库选型 业务背景与数据架构 某分布式数据库 SQL SQL SQL 数据同步 行存 行存 行存 列存 商机业务系统是新东方核心业务系统之一,包含商机数据录入,商机跟进,客户商机转化,商机搜索,商机区域系统报表等业务功能.既有数据录入等高并发低延时的数据写入需求,也有商机报表等高并发的AP类复杂查询需求,是一个典型的HTAP场景.为了满足业务需求,我们进行了二次架构演变。 收益与痛点 解决了部分低并发的AP混合查询场景,但对于高并发TP 和高并发AP场景引擎查询时延无法满足业务需求。 商机录入商机跟进商机搜索商机报表 针对商机系统的架构演进 第二次架构演变 基于上述痛点,第二次商机系统数据架构采用了TP数据库+CDC+AP数据库分离部署的HTAP架构,也就是两套数据库集群,一套做TP,一套做AP。其中对于报表数据单独写入AP集群,将业务数据通过CDC实时同步至分析库进行关联查询。 商机录入商机跟进商机搜索 TP数据库 商机报表 AP数据库 收益与痛点 SQL SQL SQL SQL 行存 行存 行存 CDC 数据同步 列存 解决了高并发场景下的AP查询需求,但这种架构在业务系统库出现大事务或者大的DDL时必然出现大量同步延迟会出现下游分析数据异常等问题,并且成本提高了60%。 数据同步延时 数据同步延时 ·大事务延时 ·DDL延时 降本增效 ·机器成本控制 ·运维成本控制 HTAP需求 ·高并发TP场景业务连续性 ·AP场景业务查询时延 通用数据库+混合云架构 私有云,专有云,公有云,混合云.不绑定硬件,给予用户自主可控的资源选择.适合任何企业。 HTAP 一份数据既能做事务处理又能实时分析,通过HTAP助力拓展更多可能。 多租户管理 资源隔离按需使用,灵活管理,适合微服务架构和SaaS行业应用。 MySQL平滑迁移 业务少量修改甚至不改即可迁移到OB,自动评估和迁移工具。 低存储成本 基于LSM-Tree的高压缩引擎平衡了“性能”和“压缩”的瓶颈,有效降低存储成本70%-90%。 易用性与生态体系 全链路诊断,白黑屏全生命周期管理工具,开源生态体系全面对接. OceanBase数据架构与特性一栈式满足业务需求 完全自主研发的数据库,才能做到核心替代的真正落地 自研一体化架构兼容经典模式,实现单机和分布式、TP和AP的融合 原生多租户架构Oracle兼容MySQL兼容HTAP引擎(TP+AP)SQL优化引擎并行执行引擎存储过程集中式/分布式一体化架构分布式存储分布式事务分布式调度基于Paxos+数据同步的灵活的容灾架构单机房三副本同城三机房双机房主备两地三中心三地五中心灵活的部署模式 物理部署专有云/混合云公有云/多云 原生分布式 全量数据校验真正实现数据强一致(Paxos协议,RTO<8s,RPO=0),数据不丢失,高可用,平滑扩展。 单机分布式一体化 自研一体化架构突破高性能和高可用,实现应用无限扩展和服务永远在线 OceanBase与其他分布式数据库业务压测PK 社区版 配置 测试模式 数据量 OceanBase v4.2.0 16C32GRAID10SSD 单条SQL并发查询 300万 其他分布式数据库 v6.x.x 16C32GRAID10SSD 单条SQL并发查询 300万 性能对比CPU表现 178.17 189.09 78.62 93.23 其他分布式数据库 OB CPU使用率 OB CPU使用率 其他分布式数据库 OceanBase与其他分布式数据库业务压测PK OceanBase与其他分布式数据库业务压测PK 单条SQL查询对比(5000万) OceanBase与其他分布式数据库业务压测PK 高压缩成本对比 WITHtable_locsAS(SELECTt.tenant_id,t.database_name,t.table_id,t.table_name,t.table_typetablet_type,t.tablet_id,REPLACE(concat(t.table_name,‘:’,t.partition_name,‘:’,t.subpartition_name),‘:NULL’,‘’)tablet_name,t.tablegroup_name,t.ls_id,t.ZONE,t.ROLE,t.svr_ipFROMoceanbase.CDB_OB_TABLE_LOCATIONStWHEREt.data_table_idISNULLUNIONSELECTi.tenant_id,i.database_name,i.table_id,t.table_name,i.table_typetablet_type,i.tablet_id,REPLACE(REPLACE(concat(i.table_name,':',i.partition_name,':',i.subpartition_name),concat('idx_',i.data_table_id,'_'),''),':NULL','')tablet_name,i.tablegroup_name,i.ls_id,i.ZONE,i.ROLE,i.svr_ipFROMoceanbase.CDB_OB_TABLE_LOCATIONSi INNERJOINoceanbase.all_virtual_tabletON(i.tenant_id=t.tenant_idANDi.data_table_id=t.table_id)WHEREi.data_table_idIS NOTNULL)SELECTt.database_name,t.ls_id,t.ROLE,t.svr_ip,t.table_name,t.tablet_name,round(sum(s.size)/1024/1024/1024,2)size_gbFROMtable_locstJOINoceanbase.GV$OB_SSTABLESsON(t.tenant_id=s.tenant_idANDt.ls_id=s.ls_idANDt.svr_ip=s.svr_ipANDt.tablet_id=s.tablet_id) WHEREt.tenant_id=1004ANDt.database_nameIN(‘xxx’)ANDt.table_nameIN(’’xxx‘)ANDs.table_typeNOTIN(’MEMTABLE‘) GROUPBYt.database_name,t.ls_id,t.ROLE,t.svr_ip,t.table_name,t.tablet_nameWITHROLLUPORDERBYt.database_name,t.ls_id,t.ROLE,t.svr_ip,t.table_name,t.tablet_name; 服务器 X86PCServer 国产PC服务器 云平台 方案优势 HTAP一体化,业务连续性提高 •一套引擎处理高并发OLTP和基本的OLAP场景,提供可靠的OLTP/OLAP业务资源隔离的可靠方案 降本增效,一栈式解决运维管控 •机器成本降本40%以上.人力运维成本基于OCP一体化管控降低. 原生分布式,解决数据延时问题 •强大的并行执行引擎和SQL优化器支持大数据的并行计算分析,报表数据生成速度显著提升 •Paxos原生分布式协议,解决数据时延并有效预防网络抖动问题 特性应用 多租户 DBLink HTAP 原生分布式 高并发TP业务与AP业务 部分AP业务 数据库集群 OceanBase OMS同步 OceanBase灾备集群 业务现状 维护成本高及资源浪费 •TP、报表库两套集群,数据双份存储,资源浪费 •需投入额外人力成本维护数据同步链路 传统主备同步能力单一 •依靠主备复制的TP和AP业务拆分方案,数据实时性也强依赖同步延迟,当遇到大事务/DDL时无法保证实时一致性 业务系统 商机录入 商机跟进 商机搜索 商机报表 LB层 域名解析与负载均衡 针对商机系统HTAP一体化混合负载解决方案 02 基于OBCloud多云异地容灾架构实践 基于OBCloud多云异地容灾架构实践 业务背景 KMS加密系统负责将业务系统敏感数据进行数据加密,对于核心数据的加解密业务都需要生成或者调用Key做加解密。业务对数据强一致性和场景稳定性有着极高要求,同时还要满足业务多云异地容灾需求。 如何选型一款云数据库产品 混合云架构 灾备成本管控与风险控制高度兼容RDS与数据 •支持阿里云,腾讯云混合架构 •云中立产品 •灾备集群开源or成本低 •业务灾备管控,RPO=0,RTO<15S •高度兼容MySQL协议 •DTS同步延时管控 OBCloud+OB社区版的混合云架构 阿里云 新东方的选择 混合云架构 基于上述业务需求,我们基于OceanBase混合云架构的特性设计并实施了多云异地容灾架构解决方案,目前加密Key数据存储在阿里云OBCloud中,OBCloud多Region容灾满足了跨地域高可用需求,通过OMS数据实时同步,将数据同步到腾讯云ECS自建的社区版OceanBase集群中,满足业务容灾需求。 腾讯云 KSM系统 OBCloud OceanBase OceanBase OceanBase Region1 Region2 OceanBase OceanBase OceanBase CDC数据订阅/同步 OMS 数据校验 数据迁移 回源保护 基于OBCloud多基础设施异地容灾架构实践 收益 1.对比之前分布式数据库方案,整体成本下降50% 2.保证了单个云厂商整体不可用时,业务通过容灾切换可以快速恢复并且数据0丢失. 3.OCP,OMS统一管控平台,降低混合云架构下的管理 和运维成本,为保障整体稳定性,我们对OCP也采用跨机房部署的高可用方案来保障全链路的可靠性 A机房-OCP B机房-OCP OCP-mate主租户 OCP-monitor主租户 A机房OB集群 OCP-mate备租户 OCP-monitor备租户 B机房OB集群 03 OceanBase后续在新东方项目的落地实践 OceanBase后续在新东方项目的落地实践 业务现状 •单集群成本高 •原数据库RDS有上百个实例数,单实例数据量大,资源碎片率高,需要不定时通过迁移至新实例释放碎片。随着实例数增多单集群成本攀升。 •复杂SQL查询性能瓶颈 •数据库主要承载优惠、续班、报名等相关信息,要求稳定性及高可用能力,目前多表关联SQL较多,复杂SQL查询耗时长。 MySQL MySQL MySQL MySQL 解决方案 OceanBase •集群模式 •统一管理、灵活调度,有效提高资源利用率 租户1 租户2 租户3 租户X •业务迁移成本低 •支持MySQL语法、存储过程、函数,基本完全兼容当前所使用SQL语法与数据类型,同时解决在线多表DDL发版时间长的问题。 •原生多租户能力 •实现数据库内核级虚拟化,对CPU、内存、数据等资源提供