最近 DuckDB 0.5.0 の新バージョンのリリースが発表されましたは、Google、Facebook、Airbnb で使用されている開発中の分析データベース管理システム (DBMS) です。
ダックDB 高性能分析データベース システムです。 高速で信頼性が高く、使いやすいように設計されています。 DuckDB は、SQL の豊富な方言を提供し、基本的な SQL をはるかに超えたサポートを提供します。 DuckDB は、任意のネストされた相関サブクエリ、ウィンドウ関数、照合、複合型 (配列、構造体) などをサポートしています。
その主な特徴の中で、次のことが際立っています。
- シンプルなインスタラシオン
- 統合: サーバー管理なし
- 単一ファイルの保存形式
- 高速分析処理
- R/Python と RDBMS 間の高速転送
- 外部の状態には依存しません。 たとえば、個別の構成ファイル、環境変数。
- 単一ファイルの保存形式
- コンポーザブル インターフェイス。 Fluent SQL プログラム API
- MVCC による完全な ACID
DuckDB 0.5.0 について
目新しさの中には「out of core」があります。これは、処理中のデータがメモリよりも大きい場合に発生する可能性のある問題を、中間結果を提案することで解決することを目的としています。.
新しいバージョン Adaptive Radix Tree (ART) インデックスを使用 制限を適用し、クエリ フィルターを高速化します。 これまで、インデックスは永続的ではなかったため、インデックス情報の損失や、データに制約のあるテーブルのリロード時間が長くなるなどの問題が発生していました。
ART 本質的には、垂直方向と水平方向の圧縮を適用してコンパクトなインデックス構造を作成しようとする試みです。 インテントはツリー状のデータ構造であり、ツリーの各レベルにはデータ セットの一部に関する情報が含まれています。 それらは通常、文字列で示されます。
プロジェクトは、結合順序の最適化も追加しました、分析データベースの一般的な問題。 Amalgam Insights の CEO 兼チーフ アナリストである Hyoun Park 氏は、DuckDB の差別化は、コードベースのワークフロー内で動作して大規模なデータ ストアをすばやくスキャンする小さなアプリケーションであるという事実にあると述べています。
「DuckDB は多くの場合、中間処理なしでデータに対して直接クエリを実行できるため、処理が改善されます。 純粋に技術的な観点から見ると、Actian Vector は列指向のベクトル化された OLAP クエリ アプローチを採用していますが、Actian Vector はプロセスで作業したり特定のジョブをロードしたりするのではなく、データを取得するように設計されています。 »
DuckDB Labs はアドバイスとサポートを提供します。 共同創設者兼 CEO の Hannes Mühleisen は、コードを共同で書き、プロジェクトを維持していますが、サーバーレス OLTP データベース エンジンである SQLite に触発され、同様のアプローチの機会を分析に見いだしたと述べています。
DuckDB は、分析または管理スタックの一部としてもよく使用されます。 より大きなデータ。 たとえば、誰かがデータを収集するカスタム アプリケーションを構築してから SQL インターフェイスを作成したい場合、まずデータをコピーして別のシステムに移動する必要があり、同期の問題が発生する可能性があると彼は説明しました。
ダウンロードして入手
ホームページには、「集中型エンタープライズ データ ストレージ用の大規模なクライアント/サーバー インストール」には使用しないことが明確に記載されていることに注意してください。
プロジェクトはバージョン 1.0 のリリースに取り組んでおり、 その後、変更を加えることができなくなります。 アムステルダムにある Center for Mathematics and Theoretical Computer Science Centrum Wiskunde & Informatica の研究者の作品である DuckDB は、ホスト プロセスに統合されています。インストール、更新、または維持する DBMS サーバー ソフトウェアがないことは注目に値します。
たとえば、DuckDB Python パッケージは、データをインポートまたはコピーすることなく、Python ソフトウェア ライブラリのデータに対して直接クエリを実行できます。 DuckDB は C++ で書かれており、MIT ライセンスに基づく無料のオープン ソースです。
詳細については、インストール マニュアルを参照するだけでなく、 次のリンクで。