数字化技能提升教程,数字化时代生存宝典

Cloudflare无服务器数据平台正式发布:整合数据摄取、Iceberg表管理与SQL查询

浏览:11

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 兼容范围、访问权限和成本结构,再决定是否迁移已有分析流程。

相关文章
猜你喜欢