DuckDB 1.4.0リリース⁠今後のLTSリリースは1つおきに

DuckDB Foundationは2025年9月16日、オープンソースの組み込み型データベースDuckDBの新バージョン1.4.0(コードネーム⁠Andium⁠[1]をリリースした。

DuckDB 1.4.0は、初のLTS(Long Term Support)版としてリリースされた。またこれまで新バージョンのDuckDBがリリースされると古いバージョンは破棄されてきたが、この方針を変更し、今後のバージョンは1つおきにLTS版となる(次のLTSはバージョン1.6⁠⁠。LTS版のDuckDBは、コミュニティサポートが(現時点では)リリース後1年間継続される。コミュニティサポートの期限が切れた後は、DuckDB Labsがサポートを行う。

DuckDB 1.4.0の主な新機能は以下の通り。

データベース暗号化
DuckDBでファイルの暗号化がサポートされた。AES(キー長256ビット、GCMモード推奨)をデフォルトで使用し、メインのデータベースファイル、先行書き込みログ(WAL)ファイル、テンポラリファイルが暗号化できる。暗号化にはDuckDB組み込みのmbedtlsライブラリ、またはhttpfs拡張機能のOpenSSLライブラリが使用可能。OpenSSLバージョンはハードウェアアクセラレーションにより大幅に高速化されているので、暗号化のパフォーマンスを向上させたい場合はこちらが推奨されている。
Apache Icebergへの書き込み
duckdb-iceberg拡張機能がApache Icebergへの書き込みをサポートした。これにより、DuckDBまたはDuckDBのデータレイクであるDuckLakeからIcebergへデータのコピーが可能となった。COPY ステートメントによるIcebergからDuckDB/DuckLakeへのコピーもサポート。
MERGE文のサポート
INSERT INTO ... ON CONFLICTの代替としてMERGE INTOをサポートする。MERGE INTOはOLAPシステムで頻繁に使用されるステートメントで、任意のカスタムマージ条件で機能するため主キーを必要としない。
CLIプログレスバーでの到着予定時刻(ETA)表示
DuckDBコマンドラインクライアントにETA(到着予定時刻)機能が追加された。
CLIのETA機能
ソート実装を再構築
k-wayマージソートを使用することでデータの動きをを削減。事前にソートされたデータにも適応し、新しいAPIを使用することでウィンドウ関数などでも使用できるようになった。これによりスレッドスケーリングのパフォーマンスが大幅に向上したという。
macOSの公証に対応
今回のリリースから、DuckDBコマンドラインユーティリティ(duckdb)と動的ライブラリlibduckdb…dylibがmacOSの公証付きでリリースされる。これにより、macOSでWebブラウザを使用してバイナリをダウンロード、インストールする際の作業が軽減される(ただし「ダブルクリックで開く」アクションには未対応⁠⁠。
Pythonパッケージを独立したリポジトリに移動
Pythonクライアントを独自のリポジトリduckdb/duckdb-pythonに移動。Pythonクライアントに関する問題の報告は今後このリポジトリで受け付ける。

DuckDB 1.4.0はほかにも多くの新機能や改善点が実装されている。詳しくはリリースノートを参照。

DuckDBはMITライセンスのもとオープンソースとしてGitHub上で公開されている。またPython、R、Java、Node.js、Rust、Go、C/C++、ODBCなど主要なプログラミング言語とLinux、mscOS、Windowsプラットフォーム向けのバイナリが用意されている。さらにWASM版も提供され、Webブラウザから利用することも可能。各バイナリのダウンロード、インストールはDuckDBのインストールページから。

このほか、9月3日にはDuckDBをPostgreSQLに直接組み込むことができる機能拡張パッケージ「pg_duckdb」のバージョン1.0がリリースされている。

おすすめ記事

記事・ニュース一覧