DuckDB 发布了一篇文章「Iceberg in the Browser」,介详细介绍了 Iceberg in the Browser 这一创新功能,也就是在浏览器中运行的 DuckDB(DuckDB-Wasm)集成了 Iceberg 扩展,能够直接与 Iceberg REST Catalog 进行交互。
https://duckdb.org/2025/12/16/iceberg-in-the-browser

一、 产品角度(Product Perspective)

1.1 核心产品定位:真正的无服务器分析客户端

“Iceberg in the Browser” 的核心定位是将数据分析引擎从服务器端彻底转移到客户端——即用户的浏览器中,实现了 “客户端即服务器”(client-is-the-server) 的浏览器内版本。

  • 技术基础: 它利用 DuckDB-Wasm(DuckDB 的 WebAssembly 移植版本)和 Iceberg 扩展,在浏览器沙盒环境中实现了完整的 Iceberg 目录和数据交互功能。
  • 功能实现:
  • 能够通过 HTTP(S) 与 Iceberg REST API 进行通信。
  • 能够在对象存储(如 AWS S3)上读写 Avro 和 Parquet 文件。
  • 能够代表用户协商访问这些资源的身份验证。
  • 最终目标: 提供一个 零配置 (zero-setup)无需基础设施 (no-infrastructure)真正无服务器 (properly serverless) 的 Iceberg 目录交互选项。

1.2 关键产品价值与特性

特性描述带来的价值
完全本地计算所有数据查询和计算都在用户浏览器内本地执行。速度快、成本低。 避免了将大量数据传输到云端服务器进行计算的延迟和费用。
零安装/零配置用户只需打开一个浏览器标签页,无需安装任何本地客户端或配置后端基础设施。易用性极高, 显著降低了使用门槛,实现即开即用。
端到端支持不仅支持读取(Read),还支持对 Iceberg REST Catalog 进行写入和编辑(Insert and Update)操作。实现了对 Iceberg 数据的全生命周期管理,使其成为一个功能完整的客户端。
强大的安全性敏感信息(如凭证和仓库 ID)仅发送到 Iceberg 目录指定的端点,不会发送给 duckdb.org。计算和数据处理完全在本地隔离的浏览器中进行。提升了用户的数据隐私和安全,特别是对于使用自有云存储数据的企业用户。
SQL 接口统一使用熟悉的标准 SQL 接口进行查询。兼容性高, 确保相同的代码片段可以在 DuckDB 运行的任何地方(本地安装、服务器、浏览器)执行。

二、应用场景(Application Scenarios)

“Iceberg in the Browser” 开启了数据分析领域的多种创新应用场景:

2.1 临时查询与自助式数据探索 (Ad-hoc Analysis & Self-Service)

  • 场景描述: 数据分析师或业务用户需要快速查看存储在 Iceberg 表中的最新数据或运行一次性分析。
  • 解决方案: 用户可以直接在网页应用(如 DuckDB 提供的可视化工具或嵌入了 DuckDB-Wasm 的数据门户)中输入 SQL 语句,查询并聚合数据。
  • 价值: 允许用户独立、即时地对数据湖中的大规模数据集进行探索,无需等待后台计算资源被分配,也不占用昂贵的云数据仓库资源。

2.2 交互式数据可视化 (Interactive Data Visualization)

  • 场景描述: 需要构建一个轻量级、响应迅速的 Web 应用程序,直接加载和过滤 Iceberg 数据集以生成图表。
  • 解决方案: 浏览器中的 DuckDB-Wasm 负责直接从 S3/对象存储中拉取所需的分区和文件,并在本地完成数据处理和聚合,然后将结果传递给前端绘图库。
  • 价值: 实现了数据源到可视化之间的最短路径,消除了中间 API 或服务器的延迟,使得数据看板和报告能够直接在客户端进行交互式操作。

2.3 教育、演示与原型开发 (Education, Demos & Prototyping)

  • 场景描述: 开发者、培训师或销售人员需要快速演示 Iceberg 或 DuckDB 的功能,或者进行快速的概念验证(PoC)。
  • 解决方案: 利用 DuckDB-Wasm 强大的分享能力(支持通过 URL Hash 共享查询),创建一个包含预置查询或凭证(仅用于演示目的)的链接。
  • 价值: 创造了一个可分享、零摩擦的演示环境。任何人点击链接即可运行代码和查看结果,极大提高了教学和推广效率。

2.4 数据应用开发与嵌入式分析 (Data App Development & Embedded Analytics)

  • 场景描述: 软件公司希望在他们的 SaaS 产品中嵌入强大的 SQL 分析功能,而不想为每个客户维护独立的分析数据库集群。
  • 解决方案: 将 DuckDB-Wasm 嵌入到 Web 应用中,利用它作为面向 Iceberg 的本地查询引擎。
  • 价值: 开发者可以将复杂的分析逻辑从后端转移到浏览器端,实现分布式计算,同时为用户提供了高性能的个性化数据分析体验。

标签:infra, ai

你的评论