分析クエリ用の SQLite バリアントである DuckDB 0.10.0 のリリース

DuckDB 0.10.0 DBMS のリリースが発表され、コンパクトさ、組み込みライブラリの形式で接続する機能、データベースを XNUMX つのファイルに保存する機能、便利な CLI インターフェイス、および実行のためのツールと最適化機能などの SQLite の特性が組み合わされています。保存されたデータの重要な部分をカバーする分析クエリ。たとえば、テーブルの内容全体を集計したり、複数の大きなテーブルを結合したりします。プロジェクト コードは MIT ライセンスに基づいて配布されます。ストレージ形式がまだ安定しておらず、バージョンごとに異なるため、開発はまだ実験的リリースを形成している段階にあります。

DuckDB は、非常に複雑で時間のかかるクエリを処理するための追加機能を含む高度な SQL 言語を提供します。 複合型 (配列、構造体、共用体) の使用と、任意のネストされた相関サブクエリを実行する機能がサポートされています。 複数のクエリの同時実行、CSV および Parquet ファイルからの直接クエリの実行をサポートしています。 PostgreSQL DBMSからインポートすることが可能です。

SQLite のシェル コードに加えて、プロジェクトでは、別のライブラリにある PostgreSQL のパーサー、MonetDB の Date Math コンポーネント、独自のウィンドウ関数の実装 (セグメント ツリー集約アルゴリズムに基づく)、正規表現プロセッサを使用しています。 RE2 ライブラリ、独自のクエリ オプティマイザー、タスクの同時実行 (マルチバージョン同時実行制御) の MVCC 制御メカニズム、および大量の値のセットを許可するハイパー パイプライン クエリ実行アルゴリズムに基づくベクトル化されたクエリ実行エンジンXNUMX回の操作で一度に処理されます。

新しいリリースの変更点には次のようなものがあります。

  • CSV 形式のデータ解析のパフォーマンスが大幅に向上しました。たとえば、新バージョンでは 11 万行の CSV ファイルの読み取り時間が 2.6 秒から短縮されました。最長 1.15 秒、1.8 秒から CSV ファイル上で「SELECT COUNT(*)」操作を実行します。 0.3秒まで
  • 固定数の要素を含むリストに似た固定サイズの配列のサポートが追加されました (「CREATE TABLE Vectors(v DOUBLE[3]);」)。
  • MySQL、PostgreSQL、SQLite DBMS への接続のサポートが追加されました。これにより、外部 DBMS から DuckDB にデータをロードし、異なるシステム間でデータを移動できるようになります。外部データベースには標準テーブルを使用してアクセスします。 'postgres:dbname=postgresscanner' を postgres としてアタッチします。 postgres.film LIMIT 5 からタイトル、リリース年、長さを選択します。
  • データベース内のオブジェクトに関するコメントを保存するための「COMMENT ON」式のサポートが追加されました。
  • すべてのコンテンツをあるデータベースから別のデータベースにコピーするための「COPY FROM DATABASE」式のサポートが追加されました。
  • EXCEPT 式と INTERSECT 式に「ALL」修飾子のサポートが追加されました。
  • 実装されたタイプ »

    出所: オープンネット.ru

コメントを追加します