新东方基于Hologres实时离线一体化数仓建设实践

新东方采用Hologres构建实时数仓,解决MaxCompute实时性不足和高并发查询问题。通过Lambda架构,结合Flink和MaxCompute,实现1分钟级实时报表和高并发查询,优化业务决策和用户体验。
摘要由CSDN通过智能技术生成

业务介绍

新东方教育科技集团定位于以学生全面成长为核心,以科技为驱动力的综合性教育集团。集团由1993年成立的北京新东方学校发展壮大而来,拥有短期培训系统、基础教育系统、文化传播系统等业务。

在互联网大潮中,新东方在IT技术上也不断重构,持续投入大数据建设,研发大数据的相关技术和应用,从而快速而精准地响应业务需求,并用数据为集团各级领导提供决策依据。新东方的大数据应用主要包括两部分:

  • 企业应用端的业务场景(B端):包括交易,教学,人员等数据,数据规模为TB级。数据会被按照不同的条件和学校层级等,形成营收、教学、客服、财富人事等实时报表,为CRM系统的成千上万名业务顾问提供线索和商机的明细报表查询,同时也供各级管理人员了解业务的运行情况,辅助业务决策。
  • 互联网直接面向用户场景(C端):主要为招生引流类、云教室等应用,包括网页版,App端,H5等,数据量为PB级。这部分数据记录了用户(学员和潜在用户)在新东方的教学闭环轨迹,C端数据除了生成常规的运营报表外,还会绘制用户画像,进而开发推荐系统和圈选等应用,改善C端各种应用的用户体验,进一步精细化运营。

数仓建设和应用痛点

为了满足日益增长的业务需求,集团开始投入数仓建设。在数据仓库建设的初期,以业务驱动为主。通过阿里云的MaxCompute为核心构建数据仓库,直接集成业务库数据以及WEB应用的OSS日志等,然后在数据仓库中分析业务数据并产生统计分析结果。初期的架构如下:
在这里插入图片描述

​根据业务需要,将中小型规模的结果导入MySQL并支持数据更新。数据规模较大的只读结果则导入 MongoDB。
然后Web服务层查询MySQL和MongoDB并向用户提供服务接口, Web服务层也可以通过Lightning加速接口直接查询MaxCompute的数据,

Lightning协议是MaxCompute查询加速服务,支持以PostgreSQL协议及语法连接访问MaxCompute数据,相比MaxCompute提供的odps jdbc接口速度要快得多。原因是后者把每次访问作为一个Map-Reduce处理,即使很小的数据量查询响应时间也要超过10秒,而 Lightning能将延时降到百毫秒内,满足业务结果报表的展示需求。目前Lightning服务进入服务下线阶段,新的加速服务由Hologres加速集群替代。

使用这套架构可以在较短的时间内满足报表开发、用户画像和推荐服务等需求,为新东方的日常运营和招生引流提供较好的数据支持。但是随着业务的开展,这套架构越来越难以满足用户的需求,主要体现在:

  1. 实时性,业务希望能够达到1分钟级甚至秒级的实时性,而使用MaxCompute只能完成批量处理,一般只能提供分钟级(一般5分钟以上)的延时
  2. 来自Web服务层的高并发查询,MaxCompute的大数据量查询只能支持到100左右的QPS,满足不了来自C端应用的高并发查询
  3. 复杂逻辑的大数据量分析和Ad-hoc查询,随着分析数据迅速从数百G上涨到TB级,在多个数亿行以上的数据进行复杂报表开发,单实例MySQL难以支持;而MongoDB无法使用标准的SQL进行复杂查询,同时MongoDB本身复杂的查询业务,开发效率很低。
  4. Lightning接口虽然支持标准的SQL并且某些场景上速度比较快,但是Lightning开始逐渐下线,需要找到替换的方法。

实时数仓选型

要解决以上的业务痛点,就需要找到能满足实时数仓建设需求的产品。大数据团队调研了多种实时数仓方案,基于新东方的数据和应用特点进行选型,方案比对如下:

产品 Ad-hoc查询 高并发支持(QPS) SQL支持 TP(交易)支持 与MaxCompute/Flink集成 文档和技术支持
ClickHouse 20.1 支持PB级以上 默认支持100的并发查询,qps取决于单个查询的响应时间 单表查询支持较好,复杂报表查询支持较弱 通过mutation支持update,较弱 支持 文档丰富,社区支持较好
Doris 0.9 支持PB级以上 数百 兼容MySQL 不支持 通过兼容MySQL与MaxCompute集成,与Flink的集成 不明确 文档和社区都较差
Hologres 1.1 支持PB级以上 数万以上 兼容PostgreSQL DDL支持 与MaxCompute直接在存储层集成,并且都兼容PostgreSQL,提供Flink Connector集成 阿里在线文档和
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值