DuckDBは、HTTPベースの新たなリモートプロトコル「Quack」を発表した。これにより、複数のDuckDBインスタンスがネットワーク越しに同一のデータベースへ接続し、共同で処理を行えるようになる。このプロトコルにより、これまで主にローカルかつ組み込み型として利用されてきたDuckDBに、クライアント/サーバー型の機能が加わる。
DuckDBの軽量なワークフローとSQL互換性を維持しつつ、Quackはデータセットの共有、同時ユーザー対応、リモートでの分析実行、そして従来の大型なデータベースへ移行することなく本番環境向けのデータサービス構築を容易にする。既存のアプローチと比較して、Quackはよりシンプルに利用でき、大幅な高速化を実現するよう設計されている。
出典:DuckDBブログ
Quackは、DuckDBのネイティブデータフォーマットを利用し、標準的なHTTP接続を介して複数のアプリケーションが同一のDuckDBデータベースに同時アクセスできるようにする。DuckDB によると、このアプローチにより、大規模なデータセットの転送をArrow Flightの約3.5倍の速度で実行でき、PostgreSQLと比べても大幅に高速になるとしている。
DuckDBはMITライセンスで提供されるオープンソースの分析データベースであり、ローカルファイルやアプリケーション、ノートブックから直接、大規模データセットに対して高速なSQLクエリを実行できる設計で人気を集めている。SQLiteと同様に、DuckDBはインプロセス型データベースであり、専用のデータベースサーバーを必要とせず、アプリケーション内に組み込んで利用できる。DuckDBチームは、Quackについて次のように説明する。
Quackにより、DuckDBは新たな幅広いユースケースで活用可能になります。特に、ローカルでの高速クエリよりも、状態の集中管理が重要となる場面で有効です。 データレイクの普及によって、データは常にローカルにあるとは限らないことを、私たちはすでに学習しています。また、データレイクに関連して、QuackはDuckLakeにも統合される予定です。これにより、DuckDB自体がリモートからアクセス可能なカタログサーバーとして機能するようになります。
DuckDBは、ArrowのインメモリフォーマットとFlight RPCフレームワークを用いてSQLデータベースとやり取りするプロトコルであるArrow Flight SQLを採用しないことを決定した。これは、データの転送方法やプロトコルの進化の完全なコントロールを望んだためだ。 また、Quackは単一のネットワーク往復でクエリ送信と結果取得を完結できるため、小規模なクエリにおいても効率的であると主張している。チームはさらに次のように付け加えている。
データシステムで革新を続けるためには、外部にコントロールされたフォーマットに縛られてはいけないと考えています。
Hacker News上の反応は概ね好意的で、開発者たちは、DuckDBの軽量性と導入の容易さを維持したまま、共有型のマルチユーザー分析ワークフローを実現する重要な一歩だと評価している。Lattice Engineering社のマネージングプリンシパルであるRyan Glover氏は、次のようにコメントしている。
これはすごい。社内アプリフレームワークでDuckDBの導入を検討していたのですが、『どうやって水平スケーリングすればいいんだ』という問題がこれで解決しました。DuckDBのチームに称賛を送りたいです。プロトコル名が“Quack”なのも気に入っています。
ユーザーのkvlonge氏も、Redditで次のように付け加えている。
サーバー上でDuckDBを起動し、ユーザーが「一般的な」データベースのようにリモートからアクセスできるようになるのは、非常に大きな進展です。
DuckDBは、QuackのDuckLakeとの統合やパフォーマンス改善を進め、2026年後半に予定するDuckDB 2.0で本番利用に対応したリリースを提供する計画である。チームはさらに、リモートデータベースへの対応強化、トランザクション処理性能の向上、プロトコル拡張のカスタマイズ、レプリケーション機能の実装にも取り組んでいる。
Amir Sefati氏は、「分散型DuckDBの現実味高まる──DeepSeekからQuackへの進化」と題した記事の中で、DuckDBインスタンス同士が連携することの利点について次のように指摘している。
これをオブジェクトストレージ、DuckLake、Parquet、ベクトルデータベースと組み合わせれば、モダンなAIやデータエンジニアリングに適した、極めて実用的なアーキテクチャ実現します。それは単に流行しているからではありません。不必要な複雑さを排除できるからなのです。
MotherDuck社のデータエンジニア兼デベロッパーアドボケートであるMehdi Ouazza氏は、ブラウザのタブからDuckDBサーバーへ直接接続するケースや、ノートブック間でのクエリ転送といったさらなるユースケースに触れ、次のように結論付けている。
これで「DuckDBはマルチライターに対応していない」という評価を、ついに過去のものにできるのでしょうか。現在は多くの選択肢があります。あとは、どのように切り分けて活用するか次第です。
新しいプロトコルの利用には、現時点では双方のDuckDBインスタンスでQuack拡張を有効にする必要がある。最新リリースのDuckDB v1.5.3では、Quackが自動読み込み可能なコア拡張およびDuckLakeカタログとして利用可能になった。
DuckDBの開発者でありDuckDB Labs社のCEOを務めるHannes Mühleisen氏は、これまでにDuckDBを用いたインプロセス型分析データ管理に関するQConセッションで講演を行っている。