《新东方基于 OceanBase 跨云多活架构与HTAP实践探索_周永强.pdf》由会员分享,可在线阅读,更多相关《新东方基于 OceanBase 跨云多活架构与HTAP实践探索_周永强.pdf(24页珍藏版)》请在三个皮匠报告上搜索。
1、周永强新东方数据库资深工程师新东方基于 OceanBase 跨云多活架构与 HTAP 实践探索新东方教育科技集团作为国内著名私立教育机构,业务涵盖素质教育、国际教育、成人教育、智慧教育、直播电商等多个板块;在报转退、优惠、商机等业务系统里 SQL 逻辑复杂多样。为了保障业务系统稳定性,我们需要有一套低延时、高性能、高可靠的数据库基础架构,以满足日益增长的业务需求。01 新东方商机系统数据架构演进与数据库选型02 基于 OB Cloud 多云异地容灾架构实践03 OceanBase 后续在新东方项目的落地实践Contents目录01新东方商机系统数据架构演进与数据库选型新东方商机系统数据架构演进
2、与数据库选型业务背景与数据架构商机业务系统是新东方核心业务系统之一,包含商机数据录入,商机跟进,客户商机转化,商机搜索,商机区域系统报表等业务功能.既有数据录入等高并发低延时的数据写入需求,也有商机报表等高并发的 AP 类复杂查询需求,是一个典型的HTAP 场景.为了满足业务需求,我们进行了二次架构演变。收益与痛点解决了部分低并发的 AP 混合查询场景,但对于高并发 TP 和高并发 AP 场景引擎查询时延无法满足业务需求。某分布式数据库行存行存行存SQLSQL列存数据同步SQL商机录入商机跟进商机搜索商机报表针对商机系统的架构演进 第二次架构演变基于上述痛点,第二次商机系统数据架构采用了TP
3、数据库+CDC+AP 数据库分离部署的 HTAP 架构,也就是两套数据库集群,一套做 TP,一套做AP。其中对于报表数据单独写入AP集群,将业务数据通过 CDC 实时同步至分析库进行关联查询。收益与痛点解决了高并发场景下的 AP 查询需求,但这种架构在业务系统库出现大事务或者大的 DDL 时必然出现大量同步延迟会出现下游分析数据异常等问题,并且成本提高了 60%。TP 数据库行存行存行存SQL列存CDC数据同步SQL商机报表商机录入商机跟进商机搜索SQLSQLAP 数据库数据同步延时降本增效 机器成本控制 运维成本控制 标题文本HTAP需求 高并发 TP 场景业务连续性 AP 场景业务查询时延
4、数据同步延时 大事务延时 DDL 延时OceanBase 数据架构与特性一栈式满足业务需求 自研一体化架构兼容经典模式,实现单机和分布式、TP 和 AP 的融合Oracle 兼容MySQL 兼容SQL 优化引擎并行执行引擎存储过程分布式存储分布式事务分布式调度同城三机房双机房主备两地三中心三地五中心物理部署专有云/混合云公有云/多云原生多租户架构HTAP 引擎(TP+AP)集中式/分布式一体化架构基于 Paxos+数据同步的灵活的容灾架构灵活的部署模式完全自主研发的数据库,才能做到核心替代的真正落地全量数据校验真正实现数据强一致(Paxos协议,RTO8s,RPO=0),数据不丢失,高可用,平
5、滑扩展。原生分布式自研一体化架构突破高性能和高可用,实现应用无限扩展和服务永远在线单机分布式一体化私有云,专有云,公有云,混合云.不绑定硬件,给予用户自主可控的资源选择.适合任何企业。通用数据库+混合云架构一份数据既能做事务处理又能实时分析,通过 HTAP 助力拓展更多可能。HTAP资源隔离按需使用,灵活管理,适合微服务架构和 SaaS 行业应用。多租户管理业务少量修改甚至不改即可迁移到OB,自动评估和迁移工具。MySQL平滑迁移基于 LSM-Tree 的高压缩引擎平衡了“性能”和“压缩”的瓶颈,有效降低存储成本 70%-90%。低存储成本全链路诊断,白黑屏全生命周期管理工具,开源生态体系全面
6、对接.易用性与生态体系单机房三副本OceanBase 与其他分布式数据库业务压测PK 社区版配置测试模式数据量OceanBasev4.2.016C32G RAID10SSD单条SQL并发查询300万其他分布式数据库v6.x.x16C32G RAID10SSD 单条SQL并发查询300万性能对比CPU表现其他分布式数据库CPU使用率CPU使用率OB其他分布式数据库OB78.6293.23178.17189.09OceanBase 与其他分布式数据库业务压测PK OceanBase 与其他分布式数据库业务压测PK 单条 SQL 查询对比(5000万)OceanBase 与其他分布式数据库业务压测P
7、K 高压缩成本对比WITH table_locsAS(SELECT t.tenant_id,t.database_name,t.table_id,t.table_name,t.table_type tablet_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_ipFROM oceanbase.CDB_OB_TABLE_LOCATIONSt W
8、HERE t.data_table_idIS NULL UNION SELECT i.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,
9、i.svr_ipFROM oceanbase.CDB_OB_TABLE_LOCATIONSiINNER JOIN oceanbase._all_virtual_tablet ON(i.tenant_id=t.tenant_idAND i.data_table_id=t.table_id)WHERE i.data_table_idIS NOT 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_gbFROM ta
10、ble_locst JOIN oceanbase.GV$OB_SSTABLESs ON(t.tenant_id=s.tenant_idAND t.ls_id=s.ls_idAND t.svr_ip=s.svr_ipAND t.tablet_id=s.tablet_id)WHERE t.tenant_id=1004 AND t.database_nameIN(xxx)AND t.table_nameIN(xxx)AND s.table_typeNOT IN(MEMTABLE)GROUP BY t.database_name,t.ls_id,t.ROLE,t.svr_ip,t.table_name
11、,t.tablet_name WITH ROLLUP ORDER BY t.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/OLA
12、P 业务资源隔离的可靠方案降本增效,一栈式解决运维管控机器成本降本40%以上.人力运维成本基于 OCP 一体化管控降低.原生分布式,解决数据延时问题强大的并行执行引擎和 SQL 优化器支持大数据的并行计算分析,报表数据生成速度显著提升Paxos 原生分布式协议,解决数据时延并有效预防网络抖动问题方案优势业务现状业务系统LB层特性应用服务器数据库集群域名解析与负载均衡多租户DBLink国产 PC 服务器云平台原生分布式商机录入商机跟进商机搜索商机报表高并发TP业务与AP业务OceanBaseOMS同步部分AP业务OceanBase灾备集群HTAPX86 PC Server02基于 OB Clou
13、d 多云异地容灾架构实践基于 OB Cloud 多云异地容灾架构实践业务背景KMS 加密系统负责将业务系统敏感数据进行数据加密,对于核心数据的加解密业务都需要生成或者调用 Key 做加解密。业务对数据强一致性和场景稳定性有着极高要求,同时还要满足业务多云异地容灾需求。如何选型一款云数据库产品标题文本标题文本标题文本标题文本标题文本标题文本标题文本标题文本标题文本标题文本标题文本标题文本标题文本高度兼容RDS与数据灾备成本管控与风险控制混合云架构支持阿里云,腾讯云混合架构云中立产品灾备集群开源 or 成本低业务灾备管控,RPO=0,RTO15S高度兼容 MySQL 协议DTS 同步延时管控混合云
14、架构基于上述业务需求,我们基于 OceanBase 混合云架构的特性设计并实施了多云异地容灾架构解决方案,目前加密 Key 数据存储在阿里云 OBCloud 中,OB Cloud 多 Region 容灾满足了跨地域高可用需求,通过 OMS 数据实时同步,将数据同步到腾讯云ECS自建的社区版 OceanBase 集群中,满足业务容灾需求。OB Cloud+OB社区版的混合云架构阿里云腾讯云KSM系统OB CloudRegion1Region2OceanBaseOceanBaseOceanBaseOMS数据校验CDC数据订阅/同步OceanBaseOceanBaseOceanBase回源保护数据迁
15、移新东方的选择基于 OB Cloud 多基础设施异地容灾架构实践收益1.对比之前分布式数据库方案,整体成本下降50%2.保证了单个云厂商整体不可用时,业务通过容灾切换可以快速恢复并且数据0丢失.3.OCP,OMS 统一管控平台,降低混合云架构下的管理和运维成本,为保障整体稳定性,我们对 OCP 也采用跨机房部署的高可用方案来保障全链路的可靠性标题A机房-OCPB机房-OCPA机房OB集群OCP-mate主租户OCP-monitor主租户B机房OB集群OCP-mate备租户OCP-monitor备租户03OceanBase 后续在新东方项目的落地实践OceanBase 后续在新东方项目的落地实践
16、 单集群成本高原数据库 RDS 有上百个实例数,单实例数据量大,资源碎片率高,需要不定时通过迁移至新实例释放碎片。随着实例数增多单集群成本攀升。复杂 SQL 查询性能瓶颈数据库主要承载优惠、续班、报名等相关信息,要求稳定性及高可用能力,目前多表关联 SQL 较多,复杂 SQL 查询耗时长。集群模式统一管理、灵活调度,有效提高资源利用率 业务迁移成本低支持 MySQL 语法、存储过程、函数,基本完全兼容当前所使用SQL语法与数据类型,同时解决在线多表 DDL 发版时间长的问题。原生多租户能力实现数据库内核级虚拟化,对 CPU、内存、数据等资源提供隔离机制,并可以根据应用负载灵活配置租户资源占比,同一部门的不同服务(不同租户)可共享一个集群。解决方案业务现状MySQLMySQLMySQLMySQL租户1租户2租户3租户XOceanBaseOceanBase 后续在新东方项目的落地实践 随着业务量的增加,业务数据迅猛增长,存储瓶颈凸显,计划将 40+套 MySQL 从库平滑迁移,存储成本预期降低 70%MySQLMySQLMySQLMySQLinsertinsertinsertinsertOceanBase谢谢谢谢谢谢