2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

计算效率提升 10 倍,存储成本降低 60%,灵犀科技基于 Apache Doris 建设统一数据服务平台技术实践

  • 2025-01-08
    北京
  • 本文字数:4102 字

    阅读完需:约 13 分钟

大小:2.00M时长:11:38
计算效率提升 10 倍,存储成本降低 60%,灵犀科技基于 Apache Doris 建设统一数据服务平台技术实践

导读:灵犀科技早期基于 Hadoop 构建大数据平台,在战略调整和需求的持续扩增下,数据处理效率、查询性能、资源成本问题随之出现。为此,引入 Apache Doris 替换了复杂技术栈,升级为集存储、加工、服务为一体的统一架构,实现存储成本下降 60%,计算效率提升超 10 倍的显著成效。


灵犀科技有限公司(简称灵犀科技)是奇点控股旗下的高科技企业,专注于为企业提供 SaaS 服务、定制化决策工具、智能匹配交易平台以及开放的大数据生态系统。灵犀科技深耕于企业产业分析,积累了大量相关信息,基于这些数据构建了独特的产业链结构,向政府和企业提供精准拓客服务,助力产业升级与招商。


灵犀科技早期基于 Hadoop 构建大数据平台,以 Hive、Clickhouse、Starrocks 搭建离线数仓,Flink、Redis 搭建实时数仓。2023 年随着公司的战略调整和需求扩增,数据处理效率、查询性能、资源成本问题随之出现。为了快速应对业务的发展需要,灵犀科技引入 Apache Doris 搭建了集存储、加工、服务为一体的统一架构,有效解决上述挑战,实现存储成本下降 60%,计算效率提升超 10 倍 的显著成效。

早期架构及痛点


基于 Hadoop 体系的大数据平台架构如下图所示,分为实时及离线两条数据处理链路:


  • 离线处理链路:在离线数据处理流程中,数据通过爬虫、埋点、业务系统和算法分析等多种方式被采集,通过 HDFS Put 命令和 SeaTunnel 工具被导入/同步到 Hive 的 ODS 层中。使用 Hive 对数据进行更新、清洗、聚合、主题构建。因 Hive 存在计算性能限制,又引入 ClickHouse 优化大规模数据集的多维聚合计算,引入 StarRocks 进行多源数据的 ID 映射。最终,处理后的数据通过 Seatunnel 同步到 TiDB,提供业务的实时查询需求。

  • 实时处理链路:在实时数据处理流程中,数据通过爬虫的方式写入 Kafka,Flink 读取 Kafka 的信息并根据系统下发在 Redis 的数据处理规则,完成数据的处理并最终写入 TiDB,提供实时的数据查询服务。



整体架构中,各组件的职能明确,并承载公司多年的数据服务工作。然而,随着 2023 年公司战略调整和需求扩大,数据处理效率、查询性能受到影响,架构疲态尽显。具体问题包括:


  • 系统复杂:集成多种数据组件增加了系统的复杂性,导致系统维护和故障排除困难。

  • 数据一致性:在多个数据库和存储系统之间同步数据时,会导致大量数据冗余,同时容易出现数据一致性问题,使得数据排错变得困难。

  • 系统扩展性:随着数据量的增长,系统的可扩展性不足,扩展所需资源也随之增加。

  • 使用成本: 团队成员需具备多样化技能,以管理和维护复杂的系统组件。维护多样化的系统导致较高的使用成本,包括硬件及软件的成本投入。

技术选型


为了快速应对业务发展需要,灵犀科技决定对架构进行升级。经过对多种大数据组件的对比,最终选择引入 Apache Doris 来构建公司新一代数据服务平台,Apache Doris 是一种低成本且能满足以下特性的架构:


  • 架构简洁:架构简洁,易于部署维护,简化开发流程,提升工作效率;

  • 多源数据融合能力:能够集成 HDFS、Kafka、MySQL 等多种数据源,具备高效的数据融合能力;

  • 高效的数据建模能力:相较于多组件架构,能够高效率的执行 SQL,实现快速建模;

  • 具备实时数据处理能力:能够支撑分钟级延迟的数据生产;

  • 数据服务能力:能同时高效满足表报分析与常规的数据查询服务;

  • 稳定可靠:具备容灾恢复能力,确保数据存储的高可靠性。

基于 Apache Doris 的统一数据服务平台


新架构中,使用 Apache Doris 替代了原先架构中数据存储与数据分析引擎,实现集存储、形成集存储、加工、服务为一体的统一架构,依赖于 Apache Doris 的湖仓一体能力,实现数据的宽入->窄处理→宽出,具体来讲:


  • 数据宽入: Apache Doris 提供多样化数据导入方式,结合 Multi-Catalog 能力,可实现多数据源的快速导入。具体来讲,使用 Broker Load 导入 HDFS 冷数据(历史数据),使用 Catalog 导入类 MySQL 静态数据,使用 Routine Load 导入埋点数据以及爬虫数据(增量实时数据),使用 Binlog Routine Load 导入业务应用数据(增量实时数据)。

  • 窄处理:利用 Doris 实现数据的统一存储及计算。Doris 采用列式存储,按列进行数据的编码压缩和读取,能够实现极高的压缩比,并利用 Doris 的极速计算引擎进行数据分析。

  • 数据宽出:Doris 提供各类异构数据源的查询和写入能力,支持用户将这些外部数据源统一到 Doris 的元数据映射结构上,当用户通过 Doris 查询这些外部数据源时,能够提供一致的查询体验。


在数仓建模上遵循维度建模思路。ODS 层采用明细模型(Duplicate Key),保证了数据完整变更链路的存储,数据不做任何的加工处理;DWD、DM、APP 层选用主键模型(Unique Key),在数据的录入过程中完成的数据更新。为确保一致性的数据服务,基于 Doris 提供统一的应用服务,避免多组件间数据传输导致数据孤岛,同时避免多组件繁重的数据存储和同步成本。


经过半年多使用,以 Apache Doris 为基石的数仓建设取得了显著成果:


  • 从存储成本来看,同样的数据规模,原先架构需要 130+TB 磁盘资源,使用 Doris 后,仅需 60TB 即可,成本下降超过 60%。

  • 从计算性能来看,下图测试结果可清晰得知 Doris 显著优势,与 Hive 的数仓计算耗时相比,Doris 计算效率提升超 10 倍。


基于 Apache Doris 的最佳实践

01 负载隔离实现资源高效管理

Doris 的多租户和资源隔离方案,主要目的是为了多用户在同一 Doris 集群内进行数据操作时,减少相互之间的干扰,能够将集群资源更合理的分配给各用户。


灵犀科技基于 Apache Doris 资源隔离方案对集群资源进行了租户级别的隔离。针对在线与离线任务,将节点资源划分为 Online 和 Offline 两个标签,并将 BE 节点均匀分配到这两个标签上。表数据依然以 3 副本的方式存储,其中 2 个副本存放在 Online 资源组,1 个副本存放在 Offline 资源组。Online 资源组主要用于高并发低延迟的在线数据服务,而一些大查询或离线 ETL 操作,则可以使用 Offline 资源组中的节点执行。从而实现在统一集群内同时提供在线和离线服务的能力。


同时,定义了多租户,并为每个租户分配不同的资源权限,通过租户级别的资源隔离,提高了资源使用效率,确保各业务模块按需获得计算与存储资源。在数据存储方面也进行了类似的划分,从而实现数据生产与业务应用的同时兼顾,提高了数据管理的可控性,降低了运维复杂度。


使用参考负载管理文档



为了在确保集群稳定性的同时充分利用资源,我们将用户划分为多种角色,以应对不同时间段的资源需求。举例来说:



  • 普通角色的用户(非生产性用户),仅使用 Offline 组的资源

  • 系统忙时(早上 8 点到晚上 8 点),生产用户可使用的资源仅为 Offline 组的资源

  • 系统闲时(晚上 8 点到第二天早上 8 点),生产用户可使用所有的服务资源处理数据

  • 应用系统用户,仅使用 Online 组的资源


资源划分确保了应用系统在高峰时段的资源不被挤占,同时也兼顾了夜间大批量数据处理的性能需求。

02 多重机制保障集群稳定性

在一体化数仓建设中,集群需同时支持服务应用和数据生产,因此集群的稳定性显得格外重要。为此,灵犀科技采取了以下安全保障措施:


  • 熔断机制:由于集群面向多种服务应用,常常会出现不规范的使用场景。为应对这种情况,我们引入了熔断机制。当 SQL 运行超过设定时长时,系统会及时报警并终止该查询,以实现熔断效果。


# 查询正常执行的查询select * from information_schema.active_queries

# 通过查询时长设置熔断,杀掉长查询kill query {query_ID}
复制代码


  • 监控报警:借助飞轮科技提供的 Doris Manager 进行巡检监控,及时上报集群的 CPU、内存状态,同时我们也建立了任务的异常报警机制,实现了问题监控和处理。通过 Doris Manager 的巡检监控,我们能够及时上报集群的 CPU 和内存状态。此外,我们还建立了任务异常报警机制,实现了对问题的监控与处理。



  • 流量控制:针对常规的任务处理,控制整体的应用并发,合理利用闲时时间进行的数据的生产工作,确保能够在高峰期保持系统的高性能,同时在低峰期最大化资源的使用,提高了整体系统的生产效率。

03 Doris 支撑企业相似度高效分析

公司依托详尽的企业信息,从多维度——包括企业类型、组织形式、经营范围以及产品服务等,构建了全面的企业产业链信息库。灵犀科技采用先进的数组结构来存储这些数据,并充分利用 Doris Array 数据结构以及强大的数据函数功能,精准分析企业间的相似度,以帮助企业更精准的招商引资。


原方案:


过往的方案中,采取每日将数据库中的新增数据同步至向量库,并转化为向量化数据进行存储。当用户发起请求时,将请求数据同样转化为向量,并查询向量库以获取相似企业的 ID 列表。随后,还需通过这些 ID 再次访问数据库,以获取并展示详细的企业信息。


这一流程存在显著弊端:数据冗余存储导致资源浪费,且数据不同步问题严重影响了结果的准确性。此外,每次页面请求都需要依次访问两个服务,不仅响应时间长,代码复杂度也较高,一旦出现问题,排查难度极大。


新方案:


为解决上述问题,引入 Doris 制定全新的方案。利用 Doris Array 的数据结构,承载企业所属产业、行业等相关信息,比如:一家企业的产业编码为 ["160", "208", "219", "399"],表示这家企业属于智能制造、汽车、新能源、物联网产业。然后运用数据相交函数 array_intersect计算两家企业在产业、行业之间的相交度,为企业相似度分析提供数据支撑。简化模型如下:



与之前方案不同的是,引入 Doris 之后,只需一次 SQL 请求即可完成相似度计算并返回企业详细计算,代码简单且流程缩短,接口响应时间稳定在 5 秒以内,较原方案快了 1 倍;同时,系统也无需进行冗余数据的存储及同步操作,避免了数据不一致的问题。

总结与规划

截至目前,灵犀科技基于 Apache Doris 建设的统一数据数据平台已上线并稳定运行,有效解决了数据孤岛问题,实现了数据整合与流通。在数据集成(ETL)、标准化、治理和可视化等方面取得显著进展,相较于原有的多组件架构,数据生产能力提升超过 10 倍、存储成本节省超 60%。未来,灵犀科技将进一步探索 Apache Doris 潜力,并在以下方面进行深入实践:


  • 存算分离:进一步提升资源的利用率,精细化分配存储和计算资源。

  • 大模型 BI:将 Apache Doris 作为公司智能问答大模型的知识库,支撑大模型 BI 的查询。

2025-01-08 17:0811646
用户头像
李冬梅 加V:busulishang4668

发布了 1095 篇内容, 共 709.8 次阅读, 收获喜欢 1244 次。

关注

评论

发布
暂无评论

案例故事丨MySQL or TiDB?HTAP 数据库在中国 SaaS 行业头部服务商的应用实践

TiDB 社区干货传送门

华为全联接大会2022丨华为云打造可信认证体系,加速开发者成长

华为云开发者联盟

云计算 后端 华为云 企业号十月 PK 榜

实践一年之久,vivo 如何基于 APISIX 进行业务基础架构的演进

API7.ai 技术团队

开源 云原生 API网关 APISIX 客户案例

【11.04-11.11】写作社区优秀技术博文回顾

InfoQ写作社区官方

热门活动

集合管道模式(上)

冰心的小屋

集成管道模式 pipline

Centos7 gcc4.8.5升级到版本gcc5.4.0

A-刘晨阳

Linux 运维 11月月更 gcc5.4

Linux中gcc4.8.5升级到gcc5.4.0用已经编译好的安装包升级(重点是不用编译安装,可以更省时)

A-刘晨阳

Linux 运维 GCC 11月月更 gcc5.4

久等了,青年技术沙龙北京发车!

小红书技术REDtech

如何通过Java 在 Word 中更改字体颜色

Geek_249eec

word java;

【杭州专场】蚂蚁单测自动生成产品体验活动招募开启

TRaaS

科普|渲染农场与超级计算机有什么不同?

Finovy Cloud

人工智能 深度学习 图像处理 云渲染 渲染农场

开源的YAPI外还有哪些免费的接口工具?

Liam

开源 YAPI 接口工具 免费

TiDB 2022 Hackathon 产品组决赛“不负责任”点评

TiDB 社区干货传送门

SpringCloudAlibaba 微服务组件 Nacos 之配置中心源码深度解析

程序员小毕

微服务 后端 nacos 架构师 java面试

TiKV 源码阅读三部曲(二)读流程

TiDB 社区干货传送门

大数据中,LED显示屏行业的两大服务和四大功能

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

Java Web(三)HTML和CSS

浅辄

Java web HTML5, CSS3 11月月更

API 网关 Apache APISIX 3.0 版本正式发布!

API7.ai 技术团队

Apache 开源 APISIX 新版本/特性发布

峰会实录 | 镜舟科技CEO孙文现:基于StarRocks打造企业级极速统一数据分析产品

StarRocks

数据库·

鸿蒙生态汇聚200万+开发者,金山办公、京东分享高效开发新体验

叶落便知秋

TDSQL-C真·秒级启停:连接断了,又没断

腾讯云数据库

数据库 腾讯云 TDSQL-C 腾讯云数据库

如何使用清源 CleanSource SCA 管理开源风险

安势信息

SCA SBOM 清源CleanSource SCA 开源风险

双机热备软件哪家好?有哪些功能?咨询电话多少?

行云管家

高可用 热备 双机热备

还不会日志异常检测?看完这篇文章就够了!

云智慧AIOps社区

人工智能 机器学习 大数据 日志分析 异常日志

探讨:2023 年 WEB 3 的 5 大趋势

开发微hkkf5566

保定有几家等保测评机构?咨询电话多少?

行云管家

等保测评 等级测评 等保测评机构 保定

用技术为内容注入生命力,华为视频持续升级影音体验

科技汇

Web3.0 中的去中心化身份

开发微hkkf5566

PingCAP 携手阿里云,探索 TiDB 云原生的进阶之路

TiDB 社区干货传送门

EMR with TiSpark(on EKS )

TiDB 社区干货传送门

React-Native 开发实用指南

环信

前端 开发 React Native Android;

计算效率提升 10 倍,存储成本降低 60%,灵犀科技基于 Apache Doris 建设统一数据服务平台技术实践_数据库_SelectDB_InfoQ精选文章