导读:安全人寿作为稳妥行业领军企业,坚持技术立异,以数据业务双轮驱动的理念和愈加翻开的思路来应对不断增加的数据分析和运用需求;以深挖数据价值、确保业务用数功率为政策持续晋级大数据产品系统。自 2022 年起安全人寿初步引入开源实时数据仓库 Apache Doris 并依据此共同 OLAP 技术栈,通过共同的数据开发与服务打破了原有系统的数据“孤岛”、下降了需求的开发本钱、加速了业务需求的交给周期,并满足了业务方更高数据时效性与查询照应度的要求,毕竟构成更翻开、活络、可扩展的企业级处理与分析大数据产品系统,完结数据价值的最大化开释,助力企业由“粗放型”业务增加转变为“精细化”效益进步。 |作者:安全人寿大数据架构师 杜天敏、孙顺

稳妥业务的持续拓展,离不开企业的数字化战略立异。安全人寿秉承“一站式服务”的理念,以数据驱动服务质量,并早在 2005 年已经建立了离线数仓,将业务系统的数据集中存储于 Oracle 中并按业务需求开发数据报表,一同依据寿险的不同业务主题建立了数据集市,以加速报表生成。

跟着大数据年代的到来,传统数据库出现功用瓶颈,依据 Oracle 的数据仓库无法满足海量数据的存储、处理与运用需求,因此在 2016 年安全人寿引入了 Hadoop 建立寿险大数据途径。在近十年的大数据技术探究中,以进步数据质量、加速业务数据分析功率、加速数据价值变现为政策,安全人寿依据大数据途径构建了数据中台并引入数据处理系统,全方位确保业务用数功率、进步数据生产力。在数据运用层引入了多个开源大数据处理和分析组件,结合业务关于分析的实践需求开发了多个数据运用系统,为业务用户分析抉择计划供应支撑。

现在,跟着数智化年代的到来,数据价值的重要性得到更深度认可,深挖数据价值成为新的政策。在此布景下,安全人寿坚持技术立异,以愈加翻开的思路来应对不断增加的数据分析和运用需求,晋级大数据产品系统正是其间至关重要的一步。

为了进一步进步数据运用功率、下降多组件带来的运维和运用本钱,安全人寿自 2022 年起初步引入开源实时数据仓库 Apache Doris,对多个数据运用系统进行了晋级,依据 Apache Doris 共同了 OLAP 引擎层技术栈。Apache Doris 的引入为安全人寿大数据产品系统打破了原有系统的数据“孤岛”、共同了数据开发与运用层查询服务,下降了需求的开发本钱、加速了业务需求的交给周期,并满足业务方更高数据时效性与查询照应度的要求,毕竟构成更翻开、活络、可扩展的企业级处理与分析大数据产品系统,完结数据价值的最大化开释。

本文将深入探讨大数据产品系统中运用系统的迭代晋级经历,共享安全人寿在数据开发与服务化途径的立异运用实践,并介绍怎么依据 Apache Doris 极速分析与融合共同的特性,助力企业运营功率进步、业务抉择计划高效,完结由“粗放型”业务增加转变为“精细化”效益进步,通过以数据驱动的数智化转型,推进稳妥企业高质量展开。

前期大数据产品系统总览

安全人寿依据 Apache Doris 共同 OLAP 技术栈实践

前期大数据产品系统如上图所示,数据流经进程首要分为离线与实时两条链路:

  • 离线数据通过 Sqoop 、ETL 东西接入,凭仗 MapReduce、Spark 或 Tez 核算引擎对数据进一步处理转化、层层加工,依据 Hive 建立离线数仓,并别离凭仗 PostgreSQL、Presto、Druid、HBase、Clickhouse 以及 Kylin 等不同组件支撑离线数据查询与检索。
  • 实时数据通过 Kafka 音讯队伍实时写入,凭仗 Flink 核算处理,并将核算好的政策作用存储于 PostgreSQL 中,与离线数据相关查询支撑上游运用层实时分析。

依据实践的分析需求,安全人寿开发了各类数据运用系统以支撑不同业务人群进行抉择计划分析,包含面向处理层的报表分析系统、面向总部运营人员的即席查询系统、面向一线业务人用的多维分析系统以及面向总部与分公司营销人员的人群圈选系统。

安全人寿依据 Apache Doris 共同 OLAP 技术栈实践

针对各类运用系统,在分析进程中对 OLAP 功用有不同的要求,详细如下:

  • 报表分析系统:处理层需求通过报表全景分析对运营数据进行探查,了解各线业务运营状况,以支撑业务观察、问题定位、趋势预测以及运营全貌概览。当处理者在查看数据时,关于报表产出时效性与查询速度有较高的要求,通常单个报表页面触及成千上百个政策核算,这时则需求 OLAP 能够支撑高并发和低推延照应,使报表照应时间控制在百毫秒以内。
  • 即席查询:总部运营人员需求通过可视化分析直观地展现寿险理赔、核保、保全等数据作用,使运营人员能够更好地舆解数据、及时地作出业务抉择计划。在该场景中,实时、活络地查询数据是业务运营人员最首要的诉求,因此 OLAP 需求满足数据及时更新与快速照应。
  • 多维分析系统:一线业务人员结合政策数据进行多维分析,从不同视点来审视业务的衡量政策,以支撑更详尽的业务数据分析。该场景是企业界最常见的运用场景,承接了一线业务 90 % 的查询流量,每日数据查询拜访量高达数十万,对后台数据核算与前台照应的速度要求较高,且希望能够进行更凌乱的政策二次开发。
  • 人群圈选系统:总部与分公司营销人员需求通过对客户数据汇总核算后构成寿险用户特点、用户行为、用户消费等维度标签。营销人员凭仗多个标签找到潜在用户集体,以更精准投进与推广寿险产品。因此,活络的开发与相关查询标签数据是营销人员最首要的诉求。

前期运用痛点

由于前期架构依据多个 OLAP 组件(包含 Presto 、PostgreSQL、Hive、Kylin、Druid、Clickhouse 以及 HBase)供应核算存储与查询服务,虽然能够满足业务要求,但架构凌乱与链路过长势必会增加运维本钱、学习本钱,一同也无法确保系统之间多源数据的共同性。

更重要的是,跟着用户规划的增加与业务场景多样化,数据的写入功率、查询时效性、后台稳定性也逐渐无法得到确保,经常影响业务分析功率。接下来,将详细为大家分析以上业务运用痛点、选型进程以及相应的处理计划,希望为读者带来关于架构晋级的新视角。

01 报表分析系统

前期首要依据 Hive 与 PostgreSQL 支撑该运用场景,当业务全域数据通过 ETL 清洗处理后,全量存储于 Hive 中。为了满足处理层快速查看报表的需求,开发人员首先会将数据进行多轮处理清洗,并选用预汇总作用的办法,将核算好的政策数据导入 PostgreSQL 中。

虽然这种办法能够应对查询低推延照应的要求,但政策作用多轮核算会导致数据处理链路过长、各类本钱的叠加,例如将数据拆分存储至 14 个 PostgreSQL 库中所构成的存储冗余与资源本钱增加、将报表异地聚合与定制化开发所构成的开发本钱增加、将 PostgreSQL 与运用端穿插运用所构成的运维本钱增加等。

02 即席查询

前期即席查询场景由多个组件一同支撑,其间 Hive 负责离线数据分层存储、PostgreSQL 用于存储政策作用数据、Presto 则作为查询引擎对 Hive 中数据查询下压。但是,由于业务查询严峻依托 PostgreSQL 中的政策数据,一旦未提早核算好政策,查询压力将悉数交给 Presto,简单构成资源糟蹋、查询照应推延等问题。一同,该系统的权限处理不明晰、业务之间没有资源阻隔约束,所有业务运营人员均能够查询 Hive 底层中的数据,构成暂时表多、查询任务并发过高、资源抢占等问题。

03 多维分析系统

前期该场景利用 Druid 组件供应维度与政策存储查询服务。在业务数据激增的进程中,途径简单出现导数失利或系统毛病,Druid 节点重启经常需求 24 小时,系统超长重启时间对业务间断带来了巨大的风险。

一同,Druid 在查询功用中存在必定的局限性,如不支撑相关查询、不支撑精细去重。在理赔与用户数据 Join 的查询场景下,业务人员只能先将所需数据构成宽表满足查询需求;在面对用户数据精细去重时,只能对 Druid 组件功用改造。这些局限性不只使查询凌乱度增加,也会消耗大量的人力、学习、开发等本钱。

04 人群圈选系统

前期该系统凭仗 HBase 供应标签核算与存储、Clickhouse 与 Kylin 作为人群圈选的查询引擎。 在标签构建进程中,由于 HBase 只能通过主键进行查询,不支撑二级索引,无法运用凌乱的查询语句和条件进行数据检索,开发人员需求通过主键来规划和完结标签查询,增加开发难度和凌乱性。一同,HBase 的扩展才干也存在必定局限性,比方无法处理数字或日期等凌乱数据类型、无法翻开更细粒度的追踪调用。 在标签查询进程中,当系统面对 200 人的并发查询需求,Clickhouse 经常难以承载,需求凭仗 Kylin 通过 Cube 预聚合索引来分管查询压力。但是在两个组件一同供应服务时,Clickhouse 与 Kylin 合作活络度短少成为现在系统最大的痛点之一。以查询 Array 字段为例,Clickhouse 支撑 Array 而 Kylin 不支撑,触及到相关字段查询时,非常依托于后端人工判别数据在哪种数据库中,再发送查询恳求给 Clickhouse。除此之外,两个组件皆无法支撑多表相关查询,也无法供应活络的数值区间圈选。

大数据产品系统组件选型与考虑

在上述各运用痛点中不难发现,组件过多简单出现数据存储冗余、数据不共同等问题,开发人员也需求来回导数整合组件之间的数据流,加剧开发运维本钱。并且,组件之间还会加剧数据孤岛的现象,使数据之间短少相关与同享。依据此,我们希望选出一款综合性强、活络度高的组件,能够共同 OLAP 技术栈,打通途径之间的数据读取,掩盖日常分析场景需求,完结高效导数与极速分析。除此之外,为了将数据处理更系统化,还希望引入的 OLAP 组件支撑政策、标签等维度数据共同核算与存储,借用 API 为上游运用层供应共同查询服务

在通过调研选型后,如图所示,我们发现 Apache Doris 非常符合晋级需求,不只能够掩盖惯例业务场景,满足写查功用需求,一同,依据 Apache Doris 共同技术栈也将大幅度下降架构凌乱度,减少运维、开发以及运用本钱,最大化进步架构功用。因此,安全人寿依据 Apache Doris 开启了新架构的晋级之旅。

安全人寿依据 Apache Doris 共同 OLAP 技术栈实践

大数据产品系统依据 Apache Doris 融合共同的演进之路

在未引入 Apache Doris 之前,大数据产品系统凭仗不同 OLAP 组件供应数据存储、核算与查询服务。引入 Apache Doris 后,安全人寿以 OLAP 引擎共同为根底,在 Apache Doris 集群之上构建了一体化政策与标签规划途径,构成 “上下运营一张表”,完善运营政策处理系统,并通过 API 接口直通运用层,面向多种场景的共同数据服务

安全人寿依据 Apache Doris 共同 OLAP 技术栈实践

01 引擎优化:依据 Apache Doris 逐渐共同 OLAP 技术栈

现在,安全人寿已运用 Apache Doris 替换了 HBase、PostgreSQL 、Presto 、Druid 组件,共同政策标签核算存储,支撑报表分析、即席查询以及多维分析的运用,并已上线了处理层的报表运用系统、总部与一线运营人员的可视化分析系统。一同,安全人寿也已完结 Apache Doris 与各类数据源适配,进一步替换 Clickhouse、Kylin 组件。预计在本年 11 月份,Apache Doris 将上线并运用于营销安排人群圈选系统的生产运用。

通过 Apache Doris 一套系共同起满足数据存储、核算与查询服务,不只避免了数据多轮核算带来的重复开发与冗余存储问题,更满足了更活络、更细粒度、更高效的查询分析。安全人寿在运用上线后获得如下收益:

  • 下降各类资源本钱:凭仗 Apache Doris 丰盛的数据模型,数据无需通过多轮预聚合汇总,能够大幅度简化数据处理流程,下降运维本钱的一同开释了原 14 个 PostgreSQL 数据库的资源本钱压力。
  • 进步开发与查询功率:共同政策与标签数据开发在降本的一同愈加速了业务交给时间,开发周期由原来的两周缩短至一天,功率进步 14 倍。在引入 Apache Doris 后,凭仗 Doris 设置了查询层级权限,使业务人员只可拜访数据 ADS 层中的数据,处理数仓各表穿插运用的问题,进步政策数据复用率与运用功率;凭仗 Doris 优异的高并发功用满足了报表分析与多维分析场景下的秒级毫秒级的查询照应需求,查询提速达 5-10 倍。
  • 打破数据孤岛,完结闭环处理:在共同技术栈的优势下,Apache Doris 打破了各类运用系统数据孤岛的现象,为业务人员供应了更全面的数据、更细粒度的维度查询,完结精细化的查询分析、共同的业务观察视角、闭环式的数据处理,使企业上下更精准地掌握寿险运营走向。

02 语义与服务层优化:依据 Apache Doris 共同政策和标签服务

当共同了 OLAP 技术栈后,安全人寿进一步引入共同语义层,将凌乱查询语句进行拆解转化,简化加速 SQL 语句履行功率,并凭仗数据服务 API 接入的办法,衔接各业务运用层。

凭仗这种办法,安全人寿全域数据从采集接入后进入 Doris 数仓,业务人员在后台通过拖拽完结政策标签数据自助界说和自动核算,生成的 SQL 会发送至 Doris ADS 层中。其间,若触及凌乱的多表相关查询,SQL 语句会在语义层中过滤,生成简略的履行语句。凭仗通用的 API 服务,调用 Doris 库中数据,共同支撑业务分析在客户运营、代理人、保单、产品、理赔等方面的需求。现在,安全人寿依据共同服务化途径已支撑日均数百万次的数据调用,每张报表的查询照应时间完结 200 – 300 ms ,完结多场景下极速、共同的数据服务

至此,安全人寿从数据规划直通数据服务,有效避免业务之间冗余开发与重复运用,缩短业务交给周期,加速查询照应时间。依据高内聚低耦合的共同服务途径,使查询分析能够及时合作业务需求改变,确保了企业表里数据流转的流畅性。

总结与未来规划

一站式数据门户是安全人寿大数据产品系统从头到尾的构建政策,依据 Apache Doris 共同 OLAP 多个技术栈,并将标签与政策标准化开发与处理,一同供应共同的数据服务,使业务分析师能够进行自助式的数据探查,减少对技术人员的依托,一同,通过方便快捷地拜访、分析和可视化各种数据资源,完结数据高效、低本钱的交给。

未来,安全人寿将进一步拓展 Apache Doris 湖仓一体化的运用,运用 Doris 替换 Presto 进行数据湖查询分析,让数据和核算在湖与仓之间安闲活动。一同,还将引入 Apache Doris 多租户和资源阻隔计划,完善运用系统间负载均衡功用,避免导数进程中出现任务并发高、CPU 内存占用大、查询功用受阻的风险,减少多用户数据操作时在同一集群内被干扰,将集群资源更合理的分配给各个运用系统。

最后,非常感谢飞轮科技团队一直以来对安全人寿的技术支撑,加速安全人寿数智化转型进程。至此,各级业务人员能够加速数据分析功率,协助企业及时发现和处理问题,然后进步运营功率;处理层能够通过海量数据观察市场趋势、客户需求以驱动业务抉择计划。

安全人寿将持续推进稳妥行业转型进程,带来更多业务机会与产品立异,也将持续参加 Apache Doris 的社区建造,将相关作用奉献回馈社区,完结价值同享!