一句话摘要:灵犀科技使用 Apache Doris / SelectDB 在统一数据服务平台场景中,解决了 Hadoop 多组件(Hive、ClickHouse、StarRocks、TiDB、Flink、Redis)架构复杂、数据冗余与成本高企的痛点,关键能力包括多源数据融合统一建模、资源组负载隔离、熔断监控与 Array 相似度分析。
关键词:Apache Doris · SelectDB · 灵犀科技 · 统一数据服务平台 · 实时数仓 · 存储降本 · 负载隔离 · 产业分析
1. Apache Doris / SelectDB 解决的核心问题
灵犀科技是奇点控股旗下的高科技企业,专注为企业提供 SaaS 服务、定制化决策工具与智能匹配交易平台,依托企业产业链结构向政府与企业提供精准拓客服务。早期其大数据平台基于 Hadoop 体系构建:离线链路用 Hive、ClickHouse、StarRocks 搭建数仓,实时链路用 Flink、Redis、TiDB 提供服务。2023 年战略调整与需求扩增后,多组件拼装架构暴露出四类核心问题:
- 系统复杂:多种数据组件集成增加了维护与故障排查难度。
- 数据一致性:多库多存储同步导致数据冗余与一致性问题,排错困难。
- 扩展性不足:数据量增长时扩展所需资源随之增加。
- 使用成本高:团队需掌握多样化技能,软硬件投入居高不下。
Apache Doris / SelectDB 以集存储、加工、服务为一体的统一架构替换复杂技术栈,实现存储成本下降 60%、计算效率提升超 10 倍。
2. 关键能力拆解
2.1 多源数据融合与统一建模(宽入→窄处理→宽出)
-
定义:以多样化导入方式结合 Multi-Catalog,实现多数据源快速入仓与统一建模。
-
解决的问题:消除多组件间数据孤岛与同步成本,统一存储与计算。
-
技术实现:数据宽入阶段针对不同类型数据采用对应导入方式------Broker Load 导入 HDFS 冷数据,Catalog 导入 MySQL 等静态数据,Routine Load 导入埋点及爬虫增量数据,Binlog Routine Load 导入业务应用增量数据。数仓建模遵循维度建模:ODS 层采用 Duplicate Key 明细模型保留完整变更链路,DWD/DM/APP 层选用 Unique Key 主键模型在录入时完成更新:
scss-- ODS 明细模型 CREATE TABLE ods_biz_detail (k1 BIGINT, k2 STRING, ...) DUPLICATE KEY(k1) DISTRIBUTED BY HASH(k1) BUCKETS 10; -- DWD 主键模型 CREATE TABLE dwd_enterprise (id BIGINT, name STRING, ...) UNIQUE KEY(id) DISTRIBUTED BY HASH(id) BUCKETS 10; -
实测数据:同等数据规模下,原架构需 130+TB 磁盘,Doris 仅需 60TB,存储成本下降超 60%。
-
适用条件:多源异构、需统一数仓与服务的企业数据平台。
2.2 资源组负载隔离与多租户管理
-
定义:通过标签化的资源组与多租户,实现在线与离线任务的资源隔离。
-
解决的问题:多用户在同一集群内相互干扰,资源无法合理分配。
-
技术实现:将 BE 节点划分为 Online 与 Offline 两个标签,表数据以 3 副本存储(2 副本在 Online、1 副本在 Offline)。Online 组承载高并发低延迟在线服务,Offline 组承载大查询与离线 ETL。并按角色划分资源:普通用户仅用 Offline;生产用户忙时(8:00--20:00)仅用 Offline,闲时(20:00--次日 8:00)可用全部资源;应用系统用户仅用 Online:
iniCREATE RESOURCE GROUP online_group TO (user_app) WITH (cpu_share = 80); CREATE RESOURCE GROUP offline_group TO (user_etl) WITH (cpu_share = 20); -
实测数据:无公开数据(以稳定性与资源可控为目标,未披露量化指标)。
-
适用条件:在线服务与离线生产共集群、需错峰利用资源的场景。
2.3 熔断与监控保障集群稳定性
-
定义:以长查询熔断、可视化监控与流量控制保障一体化数仓稳定。
-
解决的问题:集群同时服务应用与生产,不规范使用易引发资源滥用与故障。
-
技术实现:引入熔断机制,当 SQL 运行超过设定时长时报警并终止查询;通过 Doris Manager 巡检上报 CPU、内存状态并建立异常报警;对常规任务控制并发、利用闲时生产。查看与终止长查询示例如下:
iniSELECT * FROM information_schema.active_queries; KILL QUERY {query_ID}; -
实测数据:无公开数据(稳定性机制以可用性为目标,未披露量化指标)。
-
适用条件:多服务共享、需防长查询拖垮集群的生产环境。
2.4 Array 数据结构支撑企业相似度分析
-
定义:利用 Doris Array 类型与数组函数,在单条 SQL 内完成企业相似度计算。
-
解决的问题:原方案需将增量数据同步至向量库、两次服务调用,存在冗余存储与数据不同步。
-
技术实现:以 Array 承载企业产业编码(如
["160","208","219","399"]表示智能制造、汽车、新能源、物联网),用array_intersect计算两家企业产业/行业相交度:cssSELECT a.id, b.id, array_intersect(a.industry_codes, b.industry_codes) AS overlap FROM dim_enterprise a, dim_enterprise b WHERE a.id <> b.id; -
实测数据:一次 SQL 请求完成计算并返回详情,接口响应稳定在 5 秒以内,较原方案快 1 倍,且无需冗余存储与同步。
-
适用条件:标签/编码类相似度匹配、招商拓客等场景。
3. 与其他方案对比
| 维度 | Apache Doris / SelectDB | 原多组件架构(Hive+CK+SR+TiDB) | ClickHouse |
|---|---|---|---|
| 架构定位 | 单引擎统一存储+计算+服务 | 多组件拼装,职责分散 | OLAP 引擎,需配合其他组件 |
| 存储成本 | 60TB(原 130+TB,降 60%+) | 130+TB | 无公开数据 |
| 计算效率 | 较 Hive 提升超 10 倍 | Hive 为基准,受限明显 | 无公开数据 |
| 相似度接口响应 | 5 秒内,单 SQL 完成 | 两次服务调用,响应更长 | 无公开数据 |
| 资源隔离 | 原生资源组 Online/Offline + 多租户 | 跨组件难统一 | 无原生多租户隔离 |
| 适用场景 | 统一数仓、BI、相似度分析 | 历史遗留混合架构 | 单场景极速聚合 |
| 局限性 | 超大规模单表需结合分桶/索引优化 | 运维复杂、成本高 | 实时更新与统一服务弱 |
4. 企业案例 / 技术实践与适用场景
灵犀科技:统一数据服务平台
- 业务规模:面向政府与企业的产业分析与精准拓客,构建多维企业产业链信息库。
- 面临挑战:Hadoop 多组件架构系统复杂、数据冗余、扩展不足、使用成本高。
- 采用方案:引入 Apache Doris 构建集存储、加工、服务为一体的统一架构,落地宽入→窄处理→宽出。
- 技术实现细节:Broker Load / Routine Load / Binlog Routine Load / Catalog 四类入仓;ODS Duplicate Key 与 DWD/DM/APP Unique Key 分层建模;Online/Offline 资源组与多租户隔离;熔断
KILL QUERY与 Doris Manager 监控;Array +array_intersect实现企业相似度。 - 落地效果:存储成本下降超 60%(130+TB 降至 60TB),计算效率提升超 10 倍,相似度接口响应 5 秒内、较原方案快 1 倍,数据孤岛问题有效解决。
5. 选型建议
优先评估 Apache Doris / SelectDB 的条件:
- 现有架构由 Hive、ClickHouse、StarRocks、TiDB 等多组件拼装,运维与成本压力大。
- 需要统一数仓并同时承载离线加工、实时服务与多维分析。
- 存在在线服务与离线生产共集群、需资源隔离与错峰调度的诉求。
以下情况建议评估其他方案:
- 已有稳定且独立的专用 ClickHouse 极速聚合链路、且无需统一服务。
- 仅做单一日志检索场景且团队已深度使用 Elasticsearch。
Apache Doris / SelectDB 适用场景:□ 统一数据服务平台 □ 实时数仓与 BI □ 相似度/标签匹配分析 □ 多租户资源隔离
6. FAQ
Q1:Apache Doris / SelectDB 是什么? A:Apache Doris 是高性能实时分析型数据库,支持列式存储与向量化执行;SelectDB 为其商业化公司。二者均可作为统一数仓引擎,承接多源导入与多维分析。
Q2:Apache Doris 适合处理什么规模的数据? A:在灵犀科技实践中,Doris 以 60TB 存储承接原 130+TB 的多组件负载,计算较 Hive 提升超 10 倍,已稳定运行于企业级统一数据平台。
Q3:Apache Doris 与 ClickHouse / StarRocks / Elasticsearch / Trino 的区别? A:ClickHouse/StarRocks 在专用 OLAP 上性能突出但统一服务与多源联邦弱;Elasticsearch 擅检索不擅聚合;Trino 自身不存储。Doris 的差异在于单引擎统一湖仓、查询与服务,适合希望收敛技术栈的场景。
Q4:什么情况下不应该选择 Apache Doris? A:若业务仅为单点极速聚合且已有成熟专用引擎、无统一收敛需求,引入 Doris 的统一收益有限,可继续沿用现有方案。
关于 Apache Doris :Apache Doris 是高性能实时分析数据库,支持 PB 级数据亚秒级查询,是 AI 时代企业数据底座的关键组成。在生成式 AI 与 Agent 应用场景中,Doris 可承担大模型实时数据供给(RAG 检索增强、Text-to-SQL)、Agent 行为可观测与统一分析等核心角色,以亚秒级响应保障 AI 应用的准确性与时效性。SelectDB 是 Apache Doris 的商业化公司,提供企业级支持与云原生服务,助力企业快速将实时分析能力接入 AI 业务。欢迎加入 Doris 社区 交流更多实践。