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