万亿数据秒级响应,Apache Doris 在360 数科实时数仓中的应用

本文分享了360数科在引入ApacheDoris后,针对实时数仓进行的一系列优化实践,包括数据导入调优、监控体系建设、慢查询分析等方面的内容。

作者|360数科中间件团队

编辑整理|SelectDB

作为以人工智能驱动的金融科技平台,360数科携手金融合作伙伴,为尚未享受到普惠金融服务的优质用户提供个性化的互联网消费金融产品,致力于成为连接用户与金融合作伙伴的科技平台。360数科旗下产品主要有 360借条、360小微贷、360分期等,截止目前,已累计帮助 141 家金融机构为 4300 万用户提供授信服务、为2630万用户提供借款服务、单季促成交易金额1106.75亿元。同时作为国内领先的信贷科技服务品牌,360数科在三季度累计注册用户数首次突破 2 亿。

业务需求

随着金融科技业务的不断发展,对数据的安全性、准确性、实时性提出了更严格的要求,早期 Clickhouse 集群用于分析、标签业务场景,但是存在稳定性较低、运维复杂和表关联查询较慢等问题,除此之外,我们业务中有部分报表数据分散存储在各类 DB 中,这也导致维护管理复杂度较高,亟需做出优化和重构。

系统选型及对比

基于以上需求及痛点,我们对实时数仓的选型目标提出了明确的需求,我们希望新的 MPP 数据库具有以下几个特点:

  • 数据写入性能高,查询秒级

  • 兼容标准的 SQL 协议

  • 表关联查询性能优秀

  • 丰富的数据模型

  • 运维复杂度低

  • 社区活跃

  • 对商业友好,无法律风险

2022年3月开始,我们对符合以上特点的数据库 Apache Doris 展开了为期两个月的调研测试。以下是 Apache Doris 1.1.2 在各个方面的满足情况。

 

基于上述情况,我们决定采用 Apache Doris,除了可以满足上文提到的几个特点,我们还考虑以下几个方面:

  1. Clickhouse 由于 Join 查询限制、函数局限性、数据模型局限性(只插入,不更新)、以及可维护性较差等原因,更适合日志存储以及保留当前存量业务,不满足我们当前的业务需求。

  2. 目前Apache Doris 社区活跃、技术交流更多,SelectDB 针对社区有专职的技术支持团队,在使用过程中遇到问题均能快速得到响应解决。

  3. Apache Doris 风险更小,对商业友好,无法律风险。大数据领域 Apache 基金会项目构成了事实标准,在 360数科内部已有广泛应用,且Apache 开源协议对商业友好、无法律风险,不会有协议上的顾虑。

平台架构

360数科大数据平台(毓数)提供一站式大数据管理、开发、分析服务,覆盖大数据资产管理、数据开发及任务调度、自助分析及可视化、统一指标管理等多个数据生命周期流程。在整个 OLAP 中,目前 Apache Doris 主要运用离线数仓分析加速、自助 BI 报表等业务场景。

在引入 Doris 后,考虑已有数据分析业务以及数据规模,Doris 集群将先同步部分业务上优先级更高的数据。通过上述架构图可以看到,依托 Doris 强大的查询性能,我们将把 Doris 架设在 Hive 数仓的上层,为特定场景进行查询加速,这样的架构建设起来成本很低,只需要完成数据从 Hive 数仓到 Doris 集群的导入适配,因为 Doris 集群并没有产生任何新表,可以直接复用已经建设好的数据血缘关系。

数据导入方案,我们在调研了 Stream Load 和 Broker Load 之后,从导入性能、开发成本上进行了评估,在导入性能上,Broker Load 要比 Stream Load 略胜一筹,而在开发成本上两种方式并没有明显的差异。而且对于大表的同步,Broker Load 的导入方式可以做到单表一次导入一个事务,而 Stream Load 在单表数据量超 10G 时则需要拆分后进行数据导入。因此数据导入选择使用 Broker Load 来进行。

数仓即席查询方案,我们自行开发的查询引擎支持多查询引擎动态切换的机制,通过识别查询数据的元信息对本次查询做自动的查询引擎(Doris/Presto/Spark/Hive)路由和故障切换。

Doris 支持原生 MySql 协议,对标准 SQL 支持良好,使得 Doris 可以和一些 BI 工具(帆软、观远等)无缝结合,因此单独搭建了一个 Doris 报表分析集群作为 BI 工具数据源。

应用实践

Doris 对 Hive数仓的查询加速方案

在即席查询场景中,传统的查询引擎(Hive/Spark/Presto)越来越满足不了数据开发者、数据分析师对查询响应性能提出的高要求,动辄几十秒甚者分钟级的查询耗时极大的限制了相关场景的开

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SelectDB技术团队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值