415.tech
シリコンバレー発、AIとテックの最前線
DuckDB v2.0、QuackとCONNECTでインプロセスDBをサーバー化

DuckDB v2.0、QuackとCONNECTでインプロセスDBをサーバー化

DuckDBの秋のv2.0リリースでは、quack拡張機能が安定版に昇格した。これにより、任意のDuckDBプロセスがネットワーク経由でデータベースを提供し、別のプロセスが新しいCONNECTステートメントでアタッチできるようになる。3月のv1.5以降10,000件以上のコミットを経て実現した、インプロセス専用からの初の本格的な脱却となる。同リリースでは、BEFORE/AFTERトリガー、PostgreSQL方言互換モードを備えたPEGベースのパーサー、オブジェクトストア向けの非同期I/Oが追加された。さらに、ICUへの依存を排除して2〜2.6倍の高速化を実現するネイティブなタイムゾーン処理や、40倍高速な再帰的CTEパスも導入されている。破壊的変更は少なく、主に新しいデフォルトのストレージ形式と完了したラムダ構文への移行にとどまるため、既存のDuckDB環境はコードの書き換えなしで新機能の大部分を導入できる。

出典: duckdb.org

Xでポストメール

昨年が lakehouse の年だったとすれば、今回の release は server としてのDuckDB の年を幕開けさせるものだ。

DuckDB team

なぜ重要か

  • → DuckDB は single-process library から Quack protocol を用いた networked database へと変貌する。
  • → 3月以降の1万件以上の commits で、triggers、async I/O、40倍高速化された recursive CTE、そして native timezone handling が追加された。
  • → Breaking changes は最小限で、既存の deployments でもほとんどの features を rewrite なしで採用できる。
In-process が distributed へ