BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース DuckDB社のWebAssemblyクライアント、ブラウザ上でIcebergデータセットへのクエリが可能に

DuckDB社のWebAssemblyクライアント、ブラウザ上でIcebergデータセットへのクエリが可能に

原文リンク(2025-05-27)

DuckDB社はこのほど、ブラウザのタブ内で直接Iceberg RESTカタログとのエンドツーエンドのインタラクションを実現する新機能を発表した。インフラのセットアップは一切不要である。この新機能はDuckDB-Wasmを活用したものであり、DuckDB-Wasmはブラウザ上で動作するDuckDBのWebAssemblyポートである。これにより、ユーザーはサーバーレス方式でIcebergテーブルへのクエリ、読み取り、および書き込みが可能になった。

DuckDB社のソフトウェアエンジニアであるCarlo Piovesan氏とTom Ebergen氏、およびDuckDB社のDevRelヘッドであるGábor Szárnyas氏は、次のように述べている。

ローカルへのDuckDBのインストールは非常に簡単ですが、ブラウザのタブを開く方が速い。そこで我々は、ブラウザのタブ内から直接「クライアントがサーバーを兼ねるモデル」に対応できないかと自問しました。これにより、Icebergカタログとのインタラクションにおいて、セットアップ不要、インフラ不要、真の意味でのサーバーレスという選択肢を提供できる可能性があります。

「Iceberg in the Browser」と題された記事によると、DuckDB社のチームはコードベース全体にわたってHTTPインタラクションを再設計し、DuckDB-WasmにJavaScriptネットワーキングラッパーを実装した上で、すべてのIcebergネットワーキングを共通インターフェースを通じてルーティングした。これにより、ネイティブのDuckDBとブラウザ版の両方が同一のロジックを実行することが確保された。

Iceberg RESTカタログとのインタラクションには、いくつかの機能が必要です。HTTP(S)を介してREST APIと通信する機能、オブジェクトストレージ上のavroおよびparquetファイルを読み書きする機能、そして最後に、ユーザーに代わってそれらのリソースにアクセスするための認証をネゴシエートする機能。これらすべてを、ネイティブコンポーネントを一切呼び出さずに、ブラウザ内から実行しなければなりません。

DuckDB社はオープンソース(MITライセンス)の分析用データベース管理システムであり、ローカルマシン上で大規模データセットを直接高速にクエリするために設計されている。「分析用のSQLite」とも称される。DuckDB-WasmはDuckDBのWebAssemblyポートであり、拡張機能の読み込みに対応している。新機能を披露するため、DuckDB社はテーブルビジュアライザーのデモを公開した。このデモは現在、Amazon S3 Tablesに対応している。

2025年初頭、DuckDB社はApache Iceberg RESTカタログへの対応を追加し、DuckDB社のユーザーがAmazon S3 TablesおよびAmazon SageMaker Lakehouseに接続できるようになった。コミュニティの反応は圧倒的に好意的であったが、一部のユーザーからは他のクラウドプロバイダーへの対応が欠如している点について疑問の声が上がった。

このデモを使用することで、ユーザーは独自のS3 TablesバケットARNと認証情報を入力し、自身のカタログ、メタデータ、およびデータにアクセスできる。すべての計算処理はブラウザ内でローカルに実行される。認証情報およびウェアハウスIDは指定されたカタログエンドポイントにのみ送信され、SQLクエリはURLのハッシュセグメントに変換・追加される。AmazonのVPおよびディスティングイッシュドエンジニアであるAndrew Warfield氏は次のようにコメントしている。

DuckDB社による非常に興味深いブログ記事です。DuckDBを使用してブラウザベースのアプリを構築し、S3 Tables上のIceberg Tablesに対して直接操作できる内容です。テーブルビジュアライゼーションデモ(…)はS3上のライブテーブルデータに対して動作する。非常に素晴らしいですね。

Piovesan氏、Ebergen氏、およびSzárnyas氏はさらに次のように述べている。

これが意味するのは、機密データはduckdb.orgに送信されることも処理されることもない、ということです。計算処理はローカルで、完全にブラウザ内で実行されます。DuckDBが動作するあらゆる環境で実行可能な同一のコードスニペットを用いた、使い慣れたSQLインターフェースを利用できます。

ブラウザからS3 TablesへのクエリをDuckDB社で実行するデモが、AWS re:Invent 2025における「Amazon S3 Tablesのアーキテクチャ、ユースケース、およびベストプラクティス」と題したセッションの一部として発表された。

作者について

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT