
随着数据量的爆炸式增长和业务需求的多样化,许多企业的大数据平台在多年的演进中堆积了 Hadoop、Hive、Spark、Flink、Kafka 等数十种组件,复杂度的累积使架构演变为"难以维护的黑盒",企业用户不得不承受着传统数据架构的慢性疼痛。亚舟将在本次分享中,以用户行为分析场景为例,介绍 Databend Cloud 如何化繁为简,帮助企业摆脱复杂技术栈的束缚,快速构建端到端的数据管道,从而实现一套可扩展、灵活、低成本的用户行为数据分析架构。
在 Data Infra 第 24 期活动中,我们邀请到 Databend Cloud 研发负责人李亚舟 ,分享如何使用湖仓一体的 Databend Cloud 使大数据架构化繁为简。
以下是精彩演讲实录: :
在传统意义上,大数据架构基本上是沿袭自 Hadoop 技术栈。随着技术的不断演进与迭代,整个架构中涉及的组件数量也不断增加。除了数据的存储与分析之外,还涵盖了数据采集、任务调度、实时分析、批处理、数据湖等多个方面。随着时间的推移,这些组件在架构中日渐臃肿。

从积极的一面来看,这样的架构具有较强的可扩展性;但从现实使用层面看,它更像是一种"堆叠"而非真正的"统一架构"。随着组件数量的增加,系统的整体复杂度也在不断提高。每新增一个组件,不仅在能力层面带来了提升,同时也带来了新的复杂性。比如在一个数据采集到 ETL 再到报表输出的完整链路中,每增加一个组件,都会带来数据口径管理上的额外挑战,一旦出问题,需要跨多个组件排查,复杂度呈"层级式增长"。
此外,每一个组件往往都需要专门的技术专家进行管理。例如像 Flink、Spark 这样的核心计算组件,都要求数据工程师或架构师对其具备较深入的理解,才能有效支持日常的数据开发需求。
更重要的是,这些组件往往缺乏弹性。用户在使用这些组件时,不仅要掌握其工作原理,还需要根据其特点进行资源的精细调度。同时,不同组件之间的权限体系往往无法打通,这也进一步导致了数据孤岛的出现。而在如今对安全与合规性要求越来越高的背景下,每新增一个组件,也意味着整个系统的攻击面进一步扩大,从而加重了安全维护的负担。
综合来看,这一切最终带来的结果是:每当进行新的数据开发任务时,工程师们不仅要理解架构的复杂性,还要掌握业务数据本身的复杂性,同时还要满足合规性的多重要求。这样的工作模式,使得数据开发周期变得越来越难以控制。
Databend Cloud 简化架构的思路
Databend Cloud 的目标就是简化整个数据架构,让用户能够更专注于业务本身的数据需求,而不是被底层技术复杂度所困扰。

首先,将整个数据架构视为一个统一的整体性解决方案 ,而非一堆松散拼接的技术组件。在对外接口上,Databend Cloud 的核心理念是:一切皆可通过 SQL 驱动。无论是日常的数据开发任务,还是复杂的数据处理流程,用户都可以统一使用 SQL 作为开发语言,极大地降低了技术门槛。
其次,Databend Cloud 是基于 SaaS 模式构建的云原生数据平台,提供托管式、弹性化资源管理能力,真正实现了免运维。用户无需关心底层架构中的具体组件,只需聚焦在业务逻辑本身。
因为是一个统一的平台,Databend Cloud 具备以下几个核心优势:
-
统一的 元数据管理 (Catalog) ;
-
统一的 数据治理 体系;
-
对流批数据的支持 ,实现流批一体的增量计算能力;
-
降低数据处理链路中对多组件的依赖,从而减少整体架构复杂度。
案例解析: 用户行为分析 数据架构如何化简
用户行为数据以及相关的"埋点"指标,是数据仓库和各种数据架构中最核心的数据源之一。尤其对于互联网公司来说,用户行为数据往往是其最宝贵的数据资产之一。这类数据能够直接反映用户是如何使用 APP 的,也为后续的产品优化和用户体验改进提供了依据。
然而,用户行为数据分析本身具备一些特性,使得构建一套可扩展、灵活、低成本的用户行为数据分析架构具有相当大的挑战。
首先是数据流量高、容量大。 用户行为数据是在用户操作 APP 时持续不断地产生的,因此数据量庞大、写入频繁。
另一方面,分析场景既包括结构较为固定的 ****BI 报表 ,也涵盖探索性分析所需的临时复杂查询(Adhoc SQL),需要系统兼顾稳定性与灵活性。
其次,这类数据往往需要兼顾结构化和半结构化数据。 随着应用不断迭代,行为日志的种类也在持续变化,因此一个固定的数据结构难以覆盖整个应用生命周期的所有需求。
此外,对于一些异常行为的实时检测和响应,也对系统的实时性提出了较高要求。

传统的用户行为分析架构通常基于 Hadoop 等大数据生态系统构建,主要由以下组件构成:
-
埋点 ****SDK:部署在客户端上,像日志一样记录用户操作;
-
数据收集 网关:汇聚客户端日志数据;
-
消息队列 (如 Kafka ) :作为数据传输的中间层;
-
数据仓库:对收集来的原始日志进行加工处理;
-
ETL 工具链(如 Spark + Airflow) :进行数据清洗、转换、调度;
-
BI 工具或临时查询接口:用于分析和呈现结果。
表面上看这个架构似乎并不复杂,但在实际运维中,每一个组件都是潜在的数据源。例如,Kafka 本身就是一个分布式系统,还依赖于 ZooKeeper;Kafka 到数据仓库之间通常还需同步组件;数据 ETL 过程可能依赖 Airflow,而 Spark 又需要运行在 Yarn 等资源调度系统中;元数据管理可能还要依赖 Hive Metastore,而底层存储如 HDFS 又有扩展性和稳定性上的挑战。
当所有这些组件都暴露给开发和运维团队时,就意味着每一个环节都可能出问题。要让团队成员具备对每个组件的深入理解和维护能力,几乎不现实。这种架构整体复杂度非常高,且在成本控制方面面临巨大挑战:我们常常不知道该从哪个环节入手进行优化。
因此,在重新思考用户行为分析架构时,我们应回归"第一性原理":

-
降低存储成本:建议将用户行为日志存储在对象存储中,因为对象存储具备极高的性价比;
-
降低运维成本:尽量采用简洁的架构设计,减少组件数量,从而减少各组件之间的依赖和故障点。
成本并不仅限于存储和计算资源,维护成本往往是被忽视但又最为关键的一部分。在许多大数据架构中,维护成本甚至高于资源本身。当维护成本足够低时,就能更高效地优化资源使用;而在一个复杂架构中,即使理论上存在降低资源成本的空间,高昂的维护开销也会让这变得难以实现。
Databend Cloud 架构设计
Databend Cloud 是一个从第一天起就完全面向对象存储 设计的平台,其原生的云架构使其能够充分利用对象存储的高吞吐、低成本 特性。相比传统数据架构,Databend 在执行层的设计上可最大化发挥对象存储的优势,同时实现了计算与存储的完全解耦。
Databend Cloud 完全兼容标准 SQL(兼容 ANSI SQL),支持对结构化与半结构化数据的分析,并提供了强大的自定义 UDF(用户自定义函数)能力。在处理非结构化数据场景下,用户可以通过编写 JavaScript 函数灵活扩展系统能力:
-
对于简单逻辑,可以使用内置 SQL 函数直接完成;
-
对于复杂逻辑,可以通过 JavaScript 编写 UDF 函数来实现,极大提升了灵活性和扩展性。
此外,Databend 是完全无状态 的,天然支持云原生的自动弹性伸缩特性。其内置的 Task 调度机制,也让用户无需再部署和维护独立的调度器组件,从而进一步简化系统架构。
Databend Cloud 在企业级数据场景中的落地实践
目前,Databend Cloud 已在众多关键企业级数据场景中实现落地,包括:
-
离线数据分析替代方案;
-
实时推荐系统;
-
日志存储与 Elasticsearch 替换;
-
在线数据库归档场景;
-
用户行为数据分析。
其中,针对用户行为数据分析,Databend Cloud 提供了极具优势的简化架构和运维体验。
简洁的数据摄入与分析流程

在 Databend Cloud 架构中,数据摄入流程极为简化:
-
用户日志数据写入对象存储(如 S3、阿里云 OSS、腾讯云 COS 等);
-
Databend Cloud 通过内置 Task 自动从对象存储中拉取数据;
-
数据进入仓库后继续落入对象存储,完成分析闭环。
整个流程中,实际涉及的仅有两个组件:
-
对象存储(S3 等):既是数据摄入入口,又是数据持久化载体;
-
Databend Cloud:负责计算、调度、查询与管理。
相比传统方案中 Kafka + Kafka Connect 的复杂堆叠架构,Databend 仅需两个组件即可构建出一套稳定高效的数据分析系统,极大降低了系统复杂性和运维成本。
架构是否真的简单?
有人可能会质疑:"Databend Cloud 架构看起来简单,但会不会只是'看起来简单',实际内部也很复杂?"事实上,Databend Cloud 简洁性来自于其底层架构的云原生设计:
-
每一个计算节点(Warehouse)本身是无状态的;
-
调度轻松、弹性强,可以随时拉起或关闭;
-
系统负载与资源消耗完全按需分配,避免资源浪费。
此外,BI 报表通常并不需要实现实时、持续的访问。换句话说,BI 报表的查询频率相对较低,一般只需要在每天或每小时生成一次结果即可。而对于交互式的即时查询场景,通常也是数据分析师在特定时段内手动发起的,访问频率远不如用户请求那样高频且连续。
正因为如此,这类场景具备一个很好的特性------可自动休眠。当分析师不活跃,或暂时不需要报表输出时,系统可以自动进入休眠状态,等真正需要进行数据分析或报表查询时再"唤醒"。这样一来,整个系统在一天 24 小时中可能只有 2~3 小时是真正活跃的,其余时间均可释放资源,极大地降低了资源占用和成本。因此,这种架构在成本控制方面表现非常出色。
一个完整的用户行为数据分析流程
接下来介绍一下在 Databend Cloud 上,如何构建一个完整的用户行为分析流程。

首先,在 Databend Cloud 上,可以创建一个 Warehouse。Databend 的 Warehouse 是基于使用时长计费的,正如前面提到的,BI 报表以及数据分析师的工作通常集中在每天的两到三个小时内,所以这套按需计费模型可以带来非常可观的成本节约。
多个 Warehouse 的协同
在实际使用中,通常会创建两个 Warehouse:
-
Ingest Warehouse:用于数据摄入和调度 Task;
-
BI Report Warehouse:用于 BI 报表查询。
这么做的原因是,数据摄入通常是一个耗时较长但资源需求较低的过程,所以可以用规格更小的 Warehouse 来节省资源。而报表查询往往对响应速度要求更高,所以可以为其单独配置资源。

Warehouse 创建好之后,可以在 Databend Cloud 首页中获取连接串信息(Connect 字段),用于连接各种 Driver 或生态系统中的工具。
数据建表与 Stage 设置

先创建一个行为日志表,比如叫 activity,表结构在实际生产中可能会更宽,但此处为演示做了简化。
然后再创建一个 Stage。Stage 可以理解为映射到对象存储(如 S3)中的某个目录。只要将日志文件写入该目录,Databend Cloud 就能自动识别并导入。
使用 Task 实现自动摄入

接着创建一个 Task,设置为每分钟执行一次。这个 Task 的作用是将指定 Stage(也就是 S3 目录)中的 JSON 文件自动导入到 Databend 中的表里。
一个关键参数是 purge = true
,它表示每个文件在成功导入后会被自动删除。这样一来,S3 中的目录就相当于一个简化的消息队列 ,Databend 的 COPY INTO
语句具备事务性保障,确保文件数据不会重复导入,也不会遗漏。这一机制大大简化了架构设计,同时避免了 Kafka Connect 这类组件带来的复杂性和成本。
Databend Cloud 架构优势
表级增量捕获,实现增量运算

数据成功导入后,可以进行后续的 ETL 或分析处理。Databend 提供了一个非常有价值的特性 ------ Stream。每一张表都可以开启一个 Stream,用于捕获表的增量变更(CDC)。
在查询一个 Stream 时,系统只会返回自上一次提交以来新增的记录(或变更记录),而且同样具备事务保障 ------ 只有当前 Task 执行成功并提交之后,Stream 的"点位"才会前移,确保数据处理的准确性和一致性。
借助这个机制,可以实现增量处理的 ETL,将新导入的数据加工后合并到目标表中。
这对提升 ETL 效率非常关键 ------ 在传统模式下,每次 ETL 都需要全表扫描,尤其在表达到数百 TB 或 PB 级别时,全量处理几乎是不可行的。而通过 Stream 的增量处理,每天只处理新增数据,性能和资源成本都能大幅下降。
并发弹性扩展

除了分析师使用 BI 报表和交互式查询,很多业务场景还要求高并发的在线查询,比如后台数据看板、To-C 用户画像服务等。
为此,Databend Cloud 提供了强大的 Multi-cluster 弹性能力:
-
当系统检测到查询请求的并发量上涨时,可以自动扩展计算资源;
-
比如起始是一个 Small 规格的集群,用户量增大时可以自动弹出两个或更多的计算节点;
-
配置 max_clusters = 4 时,系统最多可以弹出 8 倍算力;
-
整个过程是完全自动的,无需用户手动干预。
这让系统在面对高并发访问时,依然能够保持良好的响应能力。
全量 ETL 性能优势
虽然前面强调了增量处理的重要性,但 Databend 在全量 ETL 的性能表现也非常出色。

在多个权威基准测试中:
-
ClickBench 和 TPC-H 的测试结果表明,Databend 的查询和数据加载性能都处于领先水平;
-
在一些查询任务中,Databend 显著优于 ClickHouse 和 Snowflake;
-
特别是在数据加载阶段,Databend 在多项榜单中获得第一名的成绩。
降本增效

在当前的市场环境下,降本增效已经成为一项核心议题。Databend Cloud 正是在这一背景下,为企业提供的一个整体性降本增效解决方案。
Databend Cloud 在部分替换 Trino 场景下能够帮助用户降低多达 75% 的成本。这主要得益于两个方面:其一是基于对象存储的架构,具备高性价比;其二是其计算引擎在 CPU 使用效率和实例配置方面具有明显优势。在特定的替换场景中,甚至可以达到 90% 的成本降低。这是因为对象存储的数据具备更高的压缩比,同时配合高效的扫描性能,使其在日志类场景中能够替代传统的 ES(Elasticsearch)反向索引,规避昂贵的索引维护和本地磁盘成本。
在数据归档场景中,其降本逻辑类似------通过廉价的对象存储和高压缩比的数据处理方式,大幅降低存储开销。例如,一位大型客户每天可向系统中摄入 1PB 的数据,这在传统架构下几乎是难以承受的成本,而在 Databend Cloud 的支持下,成本则变得极具竞争力。
Databend Cloud 展望

在当前数据架构日益复杂的背景下,组件堆叠和系统维护成本不断上升。Databend Cloud 所强调的一体化、云原生和轻量级架构,正是为了解决这一问题。它不仅能有效降低存储和计算成本,还能极大地减少维护负担,从而成为企业在数据架构选型时的重要考量因素。
建议将对象存储作为架构设计中的核心部分。实践证明,在数仓场景下,对象存储不仅具备显著的性价比优势,还能配合计算引擎实现出色的性能表现。通过 Databend Cloud,用户可以快速构建一套高性能、低成本、连接灵活的数据分析架构。在满足业务需求的同时,这种简洁的架构设计也意味着更低的运维成本,而低运维成本也间接带来了资源成本的进一步降低。

关于 2025 年的发展规划,目标是打造业内最高可用性的数据平台,并进一步提升资源管理的精细化能力,实现资源分组与隔离的灵活配置,同时在本地部署和资源调度之间实现更好的平衡。
在功能层面,Databend 将持续增强对地理空间分析的支持。值得一提的是,地理空间能力与 AI 之间也存在密切关系。例如,AI 任务中常涉及到空间距离的相似性计算,因此也将探索如何利用 Databend 构建面向 AI 的数据仓库。目标是进一步扩展其能力,打造一个支持多模态的数据仓库平台,真正实现数据与 AI 的深度融合。
关于 Databend
Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式湖仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。
👨💻 Databend Cloud:databend.cn
📖 Databend 文档:docs.databend.cn
💻 Wechat:Databend
✨ GitHub:github.com/databendlab...