オランダDuckDB Foundationは軽量なリレーショナルデータベース管理システム(RDBMS)「DuckDB」の最新版となる「バージョン1.0.0」を6月3日(現地時間)に公開した。DuckDBはMITライセンスで公開しているオープンソース・ソフトウェア。
DuckDBは2018年に開発が始まったソフトウェアであり、現在ではC++のソースコードが30万行を超えたという。今回の新バージョンでは、新機能の追加は最小限にして、安定動作に注力したとしている。
「DuckDB」は軽量かつ単純でほかのプログラムに組み込みやすいというSQLiteの特長を意識して開発したRDBMS。ただし、SQLiteが一般的なトランザクション処理(OLTP:Online Transaction Processing)に向けたRDBMSであるのに対し、集計や分析などのOLAP(Online Analytical Processing)に向けたRDBMSとなっている。
DuckDBは独自のデータベースエンジンを備えており、ほかのRDBMSに頼ることなく単独で動作する。そして、ほかのプログラムに組み込むとそのプログラムのプロセスと一体化して動作するため、プログラムとDuckDBの間のデータ転送速度を引き上げることができている。
OLAP向けには、データベースの行ではなく、列単位で大量のデータを高速に処理する機能を持つ。具体的には列に連なる複数のデータをまとめてベクトル(数列)として扱い、マイクロプロセッサが備えるSIMD(Single Instruction Multiple Data)レジスタで処理することで、大容量のデータを高速に処理する。
DuckDBはC/C++、Python、Java、Node.js、Rust、Go、Rの各言語からの操作を可能にするインターフェイスを備えるほか、ODBC(Open Database Connectivity)にも対応している。そしてデータベースを操作するSQL言語については、標準だけでなくMicrosoft SQL ServerやOracle Databaseなど、多様な方言に対応している。対応OSはWindows、Linux、macOSで、マイクロプロセッサはx86_64と64ビットArmに対応する。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です