秒级加速质变,Apache Doris与360数科的“化学反应”

随着信贷科技的不断发展,使大数据分析场景相应地增加了许多,对于金融科技平台而言,这些新场景对数据的安全性、准确性、实时性提出更严格的要求。与此同时,指数级增长的用户数,也向业务端施加了交付效率、稳定性、用户体验等多重压力。

日前,毓数大数据平台架构全面升级,360数科完成了Apache Doris在毓数大数据分析多场景落地应用。值得一提的是,不同于市面上应用最为广泛的实时数仓场景,360数科独创的Doris + Presto秒级多级加速引擎,大大改良了大数据分析内存占用过高,数据处理缓慢等问题。在Doris的支持下,360数科实时查询一级加速性能提升190倍,二级加速性能提升19.1倍,实时数据分析效率大幅提升。

独创加速机制,打造秒级响应竞争力

伴随业务的不断深入,360数科早期应用的OLAP多维分析数据库集群稳定性较低、运维复杂和表关联查询较慢等问题凸显。“除此之外,在大数据查询分析场景,基于Spark单一查询引擎分钟级响应,影响数据分析人员工作效率,亟需做出优化和重构。” 360数科系统架构总监黄建庭称。

基于以上需求及痛点,360数科对大数据计算引擎的选型目标提出了明确的需求,即:数据写入性能高、查询响应秒级、兼容标准 SQL 协议、表关联查询性能优秀、支持丰富的数据模型、运维复杂度低、社区活跃以及对商业友好,无法律风险。

今年3月,360数科对符合以上特点的数据库 Apache Doris 展开了为期两个月的调研测试,并在多次适配后,独创多级查询引擎动态切换的机制,完成了针对业务场景的调优。“Doris的应用,使我们的数据处理分析能力发生了质的飞跃。从效果来讲,Doris不仅可以支持高并发的实时查询场景,也能支持高吞吐的复杂分析场景。”

以实时查询场景举例,传统的大数据查询引擎难以满足数据开发者、数据分析师对查询响应性能提出的高要求,动辄分钟级甚者小时级的查询耗时极大的限制了相关场景的数据分析效率。

为提高查询性能,360数科自主研发的多级加速查询引擎,支持多查询引擎动态切换的机制,能够通过识别查询数据的元信息对当次查询做自动的查询引擎(Doris/Presto/Spark/Hive)路由和故障切换。通过将Doris 架设在 Hive 数仓的上层,360数科可以直接复用已经建设好的数据血缘关系,在不利用Doris 集群产生新表的前提下,就能完成对特定场景的低成本查询加速。

拥抱新技术,反哺开源

    显然,对于Doris的应用并非360数科在开源领域的首次尝试。

2019年,360数科加入Apache OpenMessaging,参与开放消息技术标准推广和实践,为包括Apollo、Dubbo、Skywalking、Sentinal、Arthas等顶级开源项目在内的多个项目提出问题、贡献代码及解决方案。

在自主开源方面,360数科技术团队贡献的首个自主开源项目Chronus,在完成内部5个里程碑版本后,无缝支持Dubbo协议、Http及SpringCloud等,致力于成为微服务生态轻量级分布式调度平台。

对此,黄建庭认为,受益于开源,就应该反哺开源,这是每一个技术人都会有的信念。“基于包容、开放的技术行为准则,我们一直在参与开源、自主开源方面发力。从2018年开始,我们在使用过程当中发现一些问题,比如当前的开源项目不完全符合内部的环境或需求,我们就会自己去改,如:对Hadoop生态改进优化超过40处;再比如,发现开源项目里有一些缺陷,我们就会去修复,并回馈到开源项目中,如:近期反馈PR到Apache Doris项目。”

今年6月,Apache Doris成功从 Apache 孵化器毕业,正式成为 Apache 顶级项目,这背后是以360数科为代表的开源社区成员共同努力的结果。“作为开源社区曾经的受益者,我们更希望能够以助力者的身份与其他高科技公司共同携手推动我国计算机技术和高科技企业的发展。”

据了解,360数科将继续应用Doris在实时查询引擎加速、实时数仓、用户画像/标签、RTA等业务场景不断优化。同时公司也将通过分析用户的查询 SQL 特征,结合Doris的查询缓存、物化视图、Doris on Hive等特性,进一步提升查询效率等,以期支撑更多的业务场景、发挥更大价值。

谈及后续规划,黄建庭表示,“未来我们也会考虑全面开源,但不是简单地把系统开源,会充分考虑到开源项目的适用性、通用性等,避免系统的环境依赖、内部依赖、能力依赖,以开放的金融科技创新能力帮助相关公司提升效率、节约资源,同时也不断完善我们开源的系统,进一步推动金融科技底层生态的完善。”

你可能感兴趣的:(资讯,大数据,spark,数据库)