『Designing Data-Intensive Applications』第2版でも引用されたブログ記事「Embedded databases (1): The harmony of DuckDB, Kùzu and LanceDB」を元に、次世代の組み込み型データベース(Embedded DB)の動向と特徴について解説します。
本編では、分析処理(OLAP)に特化した「DuckDB」、高度な接続性を持つグラフ構造に特化した「Kùzu」、画像・音声などの生データとベクトルを同居できる「LanceDB」の3つの組み込みDBを取り上げます。それぞれの技術的特徴(ベクトル化クエリ実行、ポインタベースジョイン、DiskANNに対応した独自フォーマットなど)を整理しつつ、インメモリ列指向フォーマット「Apache Arrow」を介して同一プロセス内で変換コストなく連携する「調和(Harmony)」の仕組みを読み解きます。また、PostgreSQLの各種拡張機能(pg_duckdb、Apache AGE、pgvectorなど)との比較や、買収・フォークを含めた各OSSプロジェクトの最新動向についても議論します。
組み込みデータベース (Embedded DB) / DuckDB / Kùzu / LanceDB / OLAP と ベクトル化クエリ実行 / グラフデータベース と Cypher / マルチモーダルとDiskANN / Apache Arrowによるゼロコピー連携 / PostgreSQL拡張機能 (pg_duckdb, Apache AGE, pgvector) / OSSの商業化とエコシステム
参考リンク
- The harmony of DuckDB, Kùzu and LanceDB, The Data Quarry
- DuckDB
- Kùzu
- LadybugDB
- LanceDB
- Lance
- Apache Parquet
- Apache Arrow
- pg_duckdb
- Apache AGE
- pgvector
- pgvectorscale
- pg_diskann