网易游戏资深大数据开发工程师 胡彪 网易游戏OLAP计算引擎负责人负责Doris、Trino、统一查询引擎的迭代演进工作 架构演进01湖仓融合建设02应用场景03未来规划04 目录 架构演进 背景介绍 网易游戏-技术中心-效能研发部的三个重点工作内容是数据、AI和安全。旨在通过数据和AI为公司众多游戏提供运营及决策支持,并且保护网易所有游戏相关的产品、服务和资源的安全。是推动游戏商业成功、品质提升以及渠道优化的重要支撑。 引入ApacheDoris前的组件架构 引入ApacheDoris构建实时数仓 ApacheDoris架构演进 早期1.0版本支持通过外部表的方式注册外部数据源为内部表 1.2开始架构升级,定位为统一数据分析网关,加速各类异构数据源的查询和写入 基于Doris构建高效易用的湖上实时数仓 湖仓融合建设 网易游戏内部统一查询引擎-SmartSQL SmartSQL主要特点 1.多引擎语法兼容 以Hive为基础扩展设计一套SQL语法,在解析层对底层所有引擎的语法进行兼容,自动适配不同计算引擎和数据源语法。 2.多引擎融合查询优化作业效率和成本 采用CBO、RBO和HBO策略,实现智能路由、动态资源配置及智能调参,结合动态压力感知技术,显著提升作业效率并优化运行成本 3.多引擎统一权限管控与行列加密 结合Ranger实现了底层引擎无关的复杂鉴权动态脱敏,行列加密过滤、函数鉴权等复杂权限特性 4.复杂场景统一接入方案 通过SmartSQL集成和兼容不同数据环境,实现业务零配置低门槛接入湖仓环境 方案一:湖上建仓 特点 1.业务数据原本的链路就是入湖、改动非常小;2.数据入湖的checkpoint较长,因此延迟在5-10min左右;3.物化视图不宜频繁刷新,适用于离线分析为主的场景。 方案二:仓湖融合 特点 1.所有数据优先入仓、在当前版本数据量过大可能难以ETL,因此适合于中小体量的业务;2.数据入湖的checkpoint较短,一般30s左右数据可见;3.以仓为主,更适合于实时分析为主的场景。 DorisonYarn实现弹性计算节点 ApacheSlider实现DorisOnYarn部署 •Doris1.2开始支持计算节点特性,核心配置be.conf:be_node_role=computation•ApacheSlider预定义了一套创建、启停、弹性、卸载的流程,简化DeployonYarn部署流程•定义doris-be服务单元,安装包、配置文件、启动脚本统一打包上传到HDFS上,启动时下发•快速弹性伸缩,按需使用:30s拉起一批计算节点,5s完成计算节点资源回收 ApacheSlider相关命令 •安装配置:bin/sliderpackage--install--namexxx–package xxx.zip•创建应用:bin/slidercreatexxx•卸载应用:bin/sliderdestroyxxx--force•弹性启动:bin/sliderstartxxx•弹性停服:bin/sliderstopxxx•伸缩节点:bin/sliderflexxxx--componentBE±N DorisWorkloadGroup实现兼容Trino参数 融合统一工作 HiveUDF兼容 SqlConvert语法兼容 DorisUDF特性 SQL兼容 主要语法类型 基于业务旧的知识启用不同语法 1.兼容Hive,极少改动2.支持动态加载UDF3.支持远程加载UDF4.支持库UDF和全局UDF 1.对于新增新业务,要求使用Doris语法开发2.旧业务全局启用Trino语法,兼容历史Trino查询3.对于特定业务,支持独立指定Spark语法 DorisManager支持外部物化视图管理 BE存储隔离 问题描述 问题描述 基于Tag的方式未隔离存储资源 1.支持可视化创建外部物化视图;2.支持按SQL片段检索物化视图;3.支持查看物化视图的详细task;4.支持立即触发、暂停、删除物化视图;5.统计物化视图的命中次数; WaggleDance兼容 问题描述 Database->Table->Column逐级缓存元数据WaggleDance的getAllDatabases无法获取所有DB 应用场景 网易游戏内部应用场景 Doris作为元数据存储底座在AI层面的应用 未来规划 未来规划 实现智能物化 3.0版本跟进 数据湖解决方案推广 内部Manager建设 物化视图是加速湖查询的一大利器,基于用户作业对热点SQL片段物化将是后续的重点工作 3.0是基于云原生存算分离的全新架构,在数据湖场景提供了更多业务模式的可能性 将基于ApacheDoris的数据湖解决方案在更多业务部门和业务场景进行推广,助力用户降本增效 内部DorisManager对于2.1及3.0版本新特性的管理运维支持,尤其是对用户最关心的功能迭代开发




