Cloudflare无服务器数据平台正式发布:整合数据摄取、Iceberg表管理与SQL查询
Cloudflare 宣布,其数据分析平台 Cloudflare Data Platform 正式发布,并更名为 Cloudflare Basin。该平台基于 Apache Iceberg 开放表格式和 R2 Object Storage 构建,将数据摄取、表管理和 SQL 查询整合在一起,开发者无需自行部署分析集群,即可构建从事件收集到数据分析的处理流程。
Cloudflare Data Platform 最初于 Birthday Week 2025 期间公布。此次正式发布后,旗下三项服务也同步更名:
- Basin Pipelines:前身为 Cloudflare Pipelines,负责接收、转换和写入事件数据。
- Basin Catalog:前身为 R2 Data Catalog,负责管理 Iceberg 元数据和自动维护数据表。
- Basin SQL:前身为 R2 SQL,负责查询存储在 Basin Catalog 中的 Iceberg 表。
一、从数据摄取到分析查询形成完整流程
Basin 的名称意为“盆地”,对应多种数据来源汇集到同一分析平台的使用方式。应用事件、基础设施日志、设备数据及其他 Cloudflare 服务产生的数据,可以通过 Pipelines 进入 Catalog,再由 Basin SQL 完成查询。
平台采用存储与计算分离的方式。数据保存在 R2 中,并使用 Apache Iceberg 开放表格式,开发者可以根据任务需要选择兼容的分析工具,减少数据与单一查询引擎之间的绑定。
Cloudflare 将速度、开放性和成本效率作为 Basin 的主要方向。随着数据规模增长,Catalog 会通过文件合并和元数据维护减少读取开销,SQL 引擎则利用统计信息规划查询,并将工作拆分为分布式任务执行。
二、Basin Pipelines:接收事件并通过SQL转换
Basin Pipelines 支持通过 HTTP 端点、Workers 绑定和 Cloudflare Logpush 接收数据。事件进入平台后,可以先通过 SQL 进行过滤和转换,再写入 Basin Catalog 管理的 Iceberg 表,或以 JSON、Parquet 文件形式保存到 R2。
例如,处理网站访问日志时,可以只保留 HTTP 状态码为400及以上的记录,同时转换时间戳、统一请求方法格式,并对 IP 地址进行哈希处理。这样可以在数据入库前减少无关记录,并按分析需求整理字段。
Cloudflare 表示,Pipelines 当前单个数据流的摄取速率最高可达 3GB/s。此次正式发布还包含以下能力:
- Logpush 集成:对 Cloudflare 日志执行 SQL 转换,并输出为 Parquet 文件或 Iceberg 表。
- Schema 感知的 Workers 绑定:通过
wrangler types生成 TypeScript 类型,帮助提前发现字段缺失和类型不匹配。 - 数据质量错误展示:通过仪表盘和 GraphQL API 查看被丢弃的事件,区分解析失败、类型错误和空值等原因。
- 基础设施即代码支持:通过 Terraform 管理 Catalog、数据流、输出目标及连接它们的 SQL 配置。
后续计划包括自定义分区、Schema 迁移、可更新的管道配置,以及流聚合、联接等有状态处理能力。这些属于后续开发方向,不应视为此次已经全部提供的功能。
三、Basin Catalog:自动维护Iceberg数据表
Basin Catalog 提供托管的 Apache Iceberg REST Catalog,负责管理表元数据,并执行数据表日常维护。
随着事件持续写入,数据表可能出现小文件增多、快照累积和元数据碎片化等问题。Basin Catalog 将相关维护工作纳入平台,减少开发者单独部署维护任务的需求。
目前公布的主要能力包括:
- 按表设置文件合并策略:根据访问模式选择目标文件大小。
- 自动快照过期:按保留策略删除旧快照,同时保留指定数量的近期快照。
- 清理未引用的数据文件:在快照过期后回收不再需要的存储空间。
- 优化清单文件:按分区整合碎片化清单,减少查询规划阶段的元数据读取。
在工具兼容方面,Basin 面向 Apache Iceberg 生态开放,可配合 PyIceberg、DuckDB、Snowflake、Apache Spark 等工具使用。具体读写方式仍取决于相应工具的接口和兼容能力。
Cloudflare 还计划增加面向排序和聚类的文件整理方式、命名空间与数据表的细粒度权限,以及满足数据存放地域要求的相关支持。
四、Basin SQL:无需预置集群的分布式查询
Basin SQL 是面向 Iceberg 数据表的无服务器分布式 SQL 引擎。开发者无需预先创建查询集群,可以通过 API、Wrangler 或 Cloudflare 仪表盘执行分析任务。
相比早期主要用于大型事件表和时间序列数据的过滤查询,Basin SQL 已扩展到更复杂的分析场景,包括:
- 聚合查询、
GROUP BY和HAVING。 - 公用表表达式、
CASE、类型转换和执行计划查看。 - 内联接、外联接、半联接、反联接及多表查询。
DISTINCT、UNION、INTERSECT和EXCEPT。- 窗口函数、
QUALIFY、分组集、汇总和立方体。 - JSON 处理,以及字符串、时间戳、数组、映射等函数。
例如,应用可以将用户事件和账户信息分别写入两张表,再通过一次 SQL 查询完成账户联接、活动统计和分组排名,筛选不同套餐下最活跃的客户。
内置查询编辑器提供语法高亮、自动补全、表和命名空间浏览、查询统计、执行计划及结果导出,方便开发者直接检查数据和分析结果。
完整的数据定义语言支持、高级统计、自适应调度,以及 Iceberg V3 相关类型支持,仍被列为后续开发方向。
五、零出口费用与按使用量计费
Basin 的成本设计主要围绕 R2 的零出口费用和无服务器计算展开。
数据保存在 R2 后,开发者使用不同地区、云平台或分析工具访问数据时,可以减少对数据传出费用的顾虑。这也为跨平台分析和数据共享提供了更灵活的选择。
计算部分则采用按使用量计费的方式,围绕数据摄取、处理和查询产生费用,减少长期预置计算资源带来的空闲成本。
需要区分的是,零出口费用不等于整个平台免费。实际成本仍应结合数据存储规模、摄取量、查询方式以及相关服务的计费规则核算。此次公告强调的是计费模式,没有给出适用于所有业务的统一费用结论。
六、后续将扩展实时处理与数据治理能力
Cloudflare 计划继续扩展 Basin 对分析数据生命周期的覆盖,包括支持更新的 Apache Iceberg 规范、简化数据来源和目标的连接,以及根据实际查询模式自动调整表维护策略。
SQL 兼容性、查询性能和可观测性也将持续增强。平台还计划提供更多实时处理数据、根据信号触发操作,以及满足数据主权和合规要求的工具。
对于需要整理网站日志、分析应用事件或构建数据共享服务的团队,Basin 提供了一种将事件摄取、开放格式存储和 SQL 分析组合使用的方案。评估时可以重点核对现有数据源、SQL 兼容范围、访问权限和成本结构,再决定是否迁移已有分析流程。