尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

制造企业数仓选型实战:为什么我们选了 Apache Doris + DolphinScheduler

制造企业数仓选型实战:为什么我们选了 Apache Doris + DolphinScheduler 【导航台账】制造业数据与AI践行者老蒋的技术博客全系列文章汇总持续更新 文章摘要针对制造企业数据平台 “既要实时写入、又要复杂查询、还要低运维” 的选型难题本文基于智联工坊真实场景对比传统数仓、ClickHouse、Hadoop 生态等主流方案详解最终选定 Apache Doris Apache DolphinScheduler 组合的决策逻辑。附完整部署验证步骤与落地效果数据可直接作为中小企业数据底座建设的选型参考。目录开篇选型这件事真的让人头大一、选型前的灵魂拷问我们到底需要什么二、候选方案对比为什么排除了几个“热门选手”三、为什么是Apache Doris3.1 MPP架构 列式存储查得快3.2 实时写入能力写得快3.3 多表Join能力强分析深3.4 兼容MySQL协议上手快3.5 运维简单活少四、为什么是DolphinScheduler五、Doris DolphinScheduler一个“存储计算调度”的完整数据底座六、部署实战从零到跑通6.1 环境准备6.2 Doris部署验证6.3 DolphinScheduler部署与MySQL持久化6.4 集成验证DolphinScheduler调度Doris SQL任务七、选型后的实际效果总结选型的核心逻辑是“匹配”不是“追新”系列导航互动与交流关于作者开篇选型这件事真的让人头大【先说结论】最终我们选定「Apache Doris 作为实时 OLAP 引擎 Apache DolphinScheduler 作为分布式调度系统」的组合这套方案覆盖了三大核心场景的全部需求运维成本仅为 Hadoop 全栈方案的 1/5。兄弟们上篇文章我们聊了湖仓一体架构点击链接查看讲了“为什么制造企业需要它”。今天咱们接着聊一个更实际的问题——技术选型。事情是这样的。智联工坊的数据平台要升级了。领导给了三个要求实时性设备数据写入后希望在秒级内就能查到不能等T1查询能力既要能跑复杂的多表Join分析又要能支持高并发的点查询可运维不要引入太多组件运维团队就那么几个人复杂了玩不转我当时的第一反应是这不科学啊……又要实时、又要复杂查询、又要简单运维——这三大需求放在一起简直是在为难选型的人。传统数仓扛不住实时写入。ClickHouse多表Join能力弱。Hadoop体系组件太多运维成本太高。选型这件事真的让人头大。本文要解决的问题用智联工坊的真实选型经历讲清楚“为什么最终选择了Apache Doris Apache DolphinScheduler”这个组合。适合谁读正在为数据平台选型发愁的数仓工程师、数据架构师以及想了解开源大数据组件组合方案的IT管理者。脱敏声明本文基于智联工坊虚拟场景的真实选型过程提炼所有数据和决策背景均已脱敏处理。一、选型前的灵魂拷问我们到底需要什么在开始对比各种方案之前我们先把需求理清楚。智联工坊的数据平台核心要解决三类场景场景数据特征查询特征时效要求设备实时监控传感器数据持续写入每秒数千条单设备点查、短时间范围查询秒级可见经营分析报表订单、工单、库存等结构化数据多表Join、聚合计算、趋势分析分钟级质量追溯订单→工单→设备→质检全链路复杂关联查询需追溯历史交互式秒级响应这三个场景对技术栈的要求几乎是对立的场景一要高并发写入和点查快场景二要复杂Join和聚合快场景三要数据一致性和历史数据查询一个组件搞定所有场景几乎不可能。所以我们的选型思路是选一个能覆盖80%核心场景的OLAP引擎再搭配一个调度系统把剩下的20%管起来。二、候选方案对比为什么排除了几个“热门选手”根据当下市场情况认真评估了几个主流方案方案优点缺点结论传统数仓Oracle/GP成熟稳定SQL支持完善实时写入能力弱扩展成本高❌ 不适合实时场景ClickHouse单表查询极快列存压缩率高多表Join能力弱更新删除麻烦❌ Join是硬伤Hadoop生态Hive/Spark生态丰富能处理海量数据组件太多运维复杂实时性差❌ 太重了Apache DorisMPP架构支持实时写入多表Join强兼容MySQL协议相对较新生态不如老牌成熟✅ 值得深入评估我们按照以下《选型决策权重表》综合多维度进行评估评估维度权重传统数仓ClickHouseHadoop 生态Apache Doris实时写入能力30%3 分8 分6 分9 分多表关联查询30%9 分4 分8 分9 分运维复杂度20%5 分7 分2 分8 分建设成本15%2 分8 分5 分9 分生态适配性5%7 分6 分10 分7 分综合得分100%5.3 分6.6 分5.7 分8.7 分ClickHouse被排除的核心原因智联工坊的经营分析场景需要大量多表关联查询订单→工单→设备→物料ClickHouse在多表Join场景下的表现确实不尽如人意。虽然单表查询快但数仓的核心价值恰恰在于“把多张表关联起来分析”。Hadoop生态被排除的核心原因组件太多。Hive Spark HBase Kafka Zookeeper……运维团队只有3个人维护这么一套东西光是日常巡检就能把人累死。最终进入决赛圈的是Apache Doris。补充说明很多工厂跟风上 ClickHouse最后发现订单、工单、物料的多表关联报表根本跑不动又得花双倍成本重构。数仓的核心价值恰恰在关联分析不在单表跑分。三、为什么是Apache DorisDoris能打动我们的是下面这几个点3.1 MPP架构 列式存储查得快Doris采用典型的Shared-Nothing MPP架构所有节点对等数据按Hash或Range分片存储。查询时多个节点并行计算最后汇总结果。配合列式存储和向量化执行引擎Doris在复杂分析查询上能做到亚秒级响应。简单说就是数据量再大查询也不慢。3.2 实时写入能力写得快传统数仓的痛点之一就是“写入慢”。数据要先ETL清洗、转换、加载一套流程走下来T1是常态。Doris支持秒级数据摄入可以直接从Kafka消费实时数据流也可以批量导入。设备传感器数据写入后几秒钟就能查到。简单说就是数据来了就能查不用等到明天。3.3 多表Join能力强分析深这是Doris相比ClickHouse最大的优势。Doris的MPP架构天生支持分布式Shuffle Join多张大表关联查询时数据会在节点间重分布并行计算。ClickHouse在这个场景下就会比较吃力。对于智联工坊这种需要“订单→工单→设备参数→质检结果”全链路追溯的场景Doris的多表Join能力是刚需。3.4 兼容MySQL协议上手快Doris兼容MySQL协议意味着可以直接用MySQL的客户端、JDBC驱动、各种BI工具连接Doris。团队不需要学习新的查询语言直接用SQL就能干活。3.5 运维简单活少Doris的架构相对简单FEFrontend BEBackend两层不像Hadoop生态那样动辄十几个组件。扩容就是加机器、配参数、重启几分钟的事。这对只有3个人的运维团队来说非常友好。四、为什么是DolphinScheduler有了存储和查询引擎还需要一个调度系统来管理所有的数据任务。智联工坊的离线调度需求包括每天凌晨从业务系统同步数据到ODS层ODS→DWD→DWS→ADS的逐层ETL任务数据质量校验任务报表生成任务这些任务之间有依赖关系需要按顺序执行失败了要能重试执行完了要能通知。我们评估了几个调度方案方案优点缺点结论Crontab Shell脚本简单直接无依赖管理无可视化难运维❌ 太原始Azkaban轻量级Web界面社区不活跃功能有限❌ 生态弱Apache DolphinScheduler可视化DAG高可用任务类型丰富相对较新✅ 最终选择DolphinScheduler打动我们的几个点可视化DAG工作流设计不需要写代码在Web界面上拖拽组件就能定义任务依赖关系。ODS→DWD→DWS→ADS的依赖关系画出来一目了然。丰富的任务类型支持Shell、SQL、Spark、Flink、DataX等十几种任务类型。智联工坊的ETL任务既有Hive SQL也有Spark作业还有DataX同步任务都能在一个平台上调度。高可用架构多Master多Worker的去中心化架构支持横向扩展单节点故障不影响整体调度。定时调度灵活支持分钟、小时、天、周甚至Cron表达式日批、小时批都能覆盖。五、Doris DolphinScheduler一个“存储计算调度”的完整数据底座把Doris和DolphinScheduler组合在一起就形成了一个完整的数据平台底座架构图如下这个组合解决的核心问题需求谁来承担怎么实现实时数据写入与查询Doris秒级数据摄入亚秒级查询响应复杂多表关联分析DorisMPP架构支持分布式Shuffle Join离线ETL任务编排DolphinScheduler可视化DAG工作流依赖管理定时调度与监控DolphinScheduler灵活定时策略高可用架构统一运维DorisDolphinScheduler组件少架构简单易扩展六、部署实战从零到跑通6.1 环境准备虚拟机配置AlmaLinux 9.8 8核CPU 16GB内存 100GB磁盘Java 17。关键前置步骤永久关闭Swap分区Doris官方要求安装Java 17并正确设置JAVA_HOME配置静态IP和国内镜像源6.2 Doris部署验证下载Apache Doris 4.0.8配置FE和BE# FE配置 meta_dir /opt/doris/doris-4.0.8/fe/doris-meta priority_networks 192.168.174.100/24 # BE配置 storage_root_path /opt/doris/doris-4.0.8/be/storage priority_networks 192.168.174.100/24启动后验证SHOW FRONTENDS\G; -- isMaster true, Alive true SHOW BACKENDS\G; -- Alive true创建测试表并验证读写CREATE TABLE test_table ( id INT, name VARCHAR(50), value INT ) DISTRIBUTED BY HASH(id) BUCKETS 1 PROPERTIES (replication_num 1); INSERT INTO test_table VALUES (1, test1, 100), (2, test2, 200); SELECT * FROM test_table; -- 返回2行数据6.3 DolphinScheduler部署与MySQL持久化部署Apache DolphinScheduler 3.4.2 Standalone模式。默认使用H2内存数据库重启后数据丢失。将元数据库切换到MySQL# application.yaml 配置 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicodetruecharacterEncodingUTF-8useSSLfalse username: ds_user password: Ds2026#Secure初始化表结构并重启服务验证数据持久化生效。6.4 集成验证DolphinScheduler调度Doris SQL任务创建数据源测试连接成功 ✅创建SQL工作流执行建表、插入、查询日志显示[INFO] row 1 : {id:1,name:dolphin-test,create_time:2026-08-23 11:56:18} [INFO] TaskExecutionStatus{code7, descsuccess}✅定时调度验证配置Cron表达式0 0 2 * * ? *每日凌晨2点执行定时任务成功上线✅复杂工作流验证通过Conditions节点实现条件分支数据质量检查成功→继续分析失败→发送告警DAG正确路由✅参数传递验证Shell任务算日期 → 通过${setValue()}传递给SQL任务下游成功接收参数七、选型后的实际效果目前智联工坊的数据平台已经基于这套架构在运行指标效果数据写入延迟传感器数据写入后3-5秒可查复杂查询响应多表Join分析查询平均1-3秒每日调度任务200个任务由DolphinScheduler统一编排运维人力1人兼职维护月均故障0次存储成本列式存储压缩比约5:1相比行存储节省80%空间这个组合不是最“炫”的但确实是最适合智联工坊当前阶段的。 方案适用边界适配场景中小规模离散制造企业数据量百 TB 级以内核心需求为实时监控、经营分析、质量追溯运维团队人力有限不建议场景PB 级超大规模数据湖、极复杂的多源异构数据融合、深度机器学习训练为主的场景总结选型的核心逻辑是“匹配”不是“追新”怕你忘了我再啰嗦一遍技术选型的核心不是选“最好的”而是选“最匹配的”。智联工坊选择DorisDolphinScheduler不是因为它们是最新最火的技术而是因为它们刚好能覆盖我们的核心需求同时运维成本可控。三个核心认知实时写入 复杂查询 简单运维三者能同时满足的方案不多。Doris的MPP架构列式存储MySQL协议兼容性在这三个维度上取得了很好的平衡。Doris 4.0还新增了向量索引、AI函数等能力面向AI时代的数据挑战已经做好了准备。调度系统是数据平台的“隐形骨架”。很多人只关注存储和查询引擎忽略了调度系统的重要性。DolphinScheduler的可视化DAG和丰富任务类型让ETL任务的编排和维护变得简单可控。开源组件的组合拳可以替代昂贵的商业软件。Doris DolphinScheduler DataX的组合基本覆盖了商业数据平台80%以上的功能成本却是后者的零头。智能工厂对标本方案对应GB/T 39116-2020中“数据资源”能力域辅域——实现制造企业多元化数据资产的统一存储、高效查询与自动化调度管理。系列导航系列传送门 【制造业数据与AI落地实战】 【WorkBuddy工作场景应用实践】 【AI赋能数据开发工程手册】上期数仓存储不了视频数据湖管不好质量制造企业湖仓一体架构详解下期从零搭建 Apache Doris DolphinScheduler保姆级步步实操手册附完整命令往期1智联工坊实战数据脏到算不准OEEAgent智能巡检自动揪出问题往期2智联工坊实战多工具协同Agent让AI像人类一样规划与执行复杂任务往期3智联工坊实战LangChain Agent记忆系统从零搭建三种模式对比往期4多工具协同Agent实战用LangChain构建越南市场情报系统【热榜文精品推荐】TOP1、我用 WorkBuddy 分析了 30 篇 CSDN 博客发现 3 个反直觉的流量真相TOP2、还在翻 git log 写周报WorkBuddy 一键生成结构化周报TOP3、老攻城狮的AI开发环境搭建全记录从零到跑通本地大模型一日速通版TOP4、LangChain Agent 反复调用工具死循环结构化返回 Prompt 规则TOP5、智联工坊实战多工具协同Agent让AI像人类一样规划与执行复杂任务TOP6、代码审查不想得罪人WorkBuddy 先做第一轮审查互动与交流你在数据平台选型中踩过哪些坑是选了ClickHouse后发现Join跑不动还是上了Hadoop全家桶后被运维拖垮欢迎评论区分享你的选型经历咱们一起避坑——说实话选型这件事选错了真的会后悔很久。关于作者制造业数据与AI践行者老蒋23年IT老兵。聚焦制造业数据架构与AI融合落地。全流程实战全源码开源。标签#制造业数据#数据架构#Apache Doris#DolphinScheduler#数仓选型#实时数仓#OLAP#大数据#智能制造
返回列表