DuckDB v2.0プレビュー:サーバーモード等の新機能を公開
原題: A Preview of DuckDB v2.0
なぜ重要か
DuckDBがサーバーモードを獲得したことで、インプロセス型分析DBの枠を超えマルチテナント・クラウド用途への適用領域が大幅に拡大する。
オープンソースの分析用データベースDuckDBの開発チームは2026年8月17日、今秋リリース予定のv2.0「Cyanoptera」のプレビュー記事を公開した。v1.5リリース以降1万件超のコミットを経て、サーバーモード、新SQLパーサー、新ストレージフォーマット、VARIANTタイプ、非同期I/O、トリガーなど多数の機能を搭載する。
DuckDBの開発者であるMark Raasveldt氏とHannes Mühleisen氏は、メジャーバージョンアップとなるv2.0の主要機能をブログで詳説した。バージョン名は「Cyanoptera」で、北米西部に生息するシナモンティールというカモの学名に由来する。
v2.0最大の目玉は「DuckDB as a Server」構想だ。従来インプロセス型データベースとして設計されてきたDuckDBに、ネイティブネットワークプロトコル「Quack」が安定版として組み込まれる。Quack拡張を使うことで、任意のDuckDBプロセスがデータベースをネットワーク経由で公開でき、他のDuckDBクライアントは新たな`CONNECT`文で接続・クエリを実行できる。
`CONNECT`は以前紹介した`remote.query($$...$$)`構文の後継であり、QuackプロトコルのほかPostgreSQLやMySQLなどの外部データベースにも対応する。新たなリモートプッシュダウンオプティマイザー(PR #22914)により、クエリはデータをローカルに転送せず対象サーバー上で直接実行される。
DuckDBはもともとMVCC(多版型同時実行制御)と完全なトランザクション分離を備えているが、シングルユーザー用途ではその恩恵が活かされてこなかった。クライアント・サーバーモードの登場により、マルチテナントや長期稼働環境でのトランザクション処理でもPostgreSQLなど汎用データベースと競争できる性能を持つことが示された。長期運用を支えるため、メトリクス・ログ・オブザーバビリティ基盤(PR #22799)も大幅に刷新された。
そのほかv2.0では、新SQLパーサー、新デフォルトストレージフォーマット、再設計されたC API、VARIANTタイプ、非同期I/O、トリガー、少数の破壊的変更が含まれる。DuckCon #7の「State of the Duck」講演でも多くの機能が紹介されており、今秋の正式リリースに向けて開発が進められている。