mcpField
D
DuckDB CLI

DuckDB CLI

公式おすすめAgent-ready
github.comデータベース・データ42.7kduckdb今日更新
リポジトリ公式サイト

DuckDB CLI について

DuckDB はサーバーのインストールが不要な埋め込み型 SQL データベースエンジンです。コマンドラインインターフェースを通じて CSV、Parquet、JSON などの形式のファイルを直接クエリでき、データ分析と探索のワークフローに適しています。

主な機能

  1. 01CSV、Parquet、JSON など複数のローカルファイル形式をクエリ
  2. 02分析的な SQL クエリを実行して結果を検査
  3. 03-c フラグで単一コマンドまたはスクリプトを実行
  4. 04インタラクティブな REPL 環境でデータを探索

活用シーン

  1. 01エージェントがローカルデータセットを迅速に分析・変換する場合
  2. 02コーディングエージェントがワークフロー内で構造化データをクエリする場合
  3. 03データエンジニアがデータ処理パイプラインをプロトタイプする場合
  4. 04開発者がデータファイルの内容を検査・検証する場合

インストール

OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。

$
brew install duckdb

インストール後にduckdb --versionを実行して確認します。

コマンド例

よく使うコマンドを使う順に並べています。

01
duckdb
02
duckdb data.db
03
duckdb -c "select 42"

詳細

DuckDB のロゴ

Github Actions バッジ discord 最新リリース

DuckDB

DuckDB は、高性能な分析データベースシステムです。高速で、信頼性が高く、移植性に優れ、使いやすいように設計されています。DuckDB はアプリケーション内のプロセスで実行されるため、管理が必要な別個のサーバーも、外部依存関係もありません。必要に応じて、リモートファイルの読み取り、ほかのデータベースへのクエリ、ほかの DuckDB インスタンスへの接続もできます。DuckDB は基本的な SQL をはるかに超える機能をサポートする豊富な SQL 方言を備えており、任意のネストされた相関サブクエリ、ウィンドウ関数、照合順序、複合型(配列、構造体、マップ)を利用できます。使いやすい SQL 拡張機能により、クエリを短く、簡単に記述できる構文が追加されます。

DuckDB はスタンドアロンの CLI アプリケーションとして利用でき、Python、R、Java、Rust、Go、Wasm、その他多数のクライアントが用意されています。また、pandas などのパッケージと緊密に統合されています。

DuckDB の使用方法について詳しくは、DuckDB ドキュメントをご覧ください。

あらゆるデータの読み書きに対応

DuckDB は、CSV、Parquet、JSON、Excel など、幅広いファイル形式を読み書きできます。ローカルディスクから直接読み込めるほか、S3、HTTP(S)、Azure、Google Cloud Storage などのリモートエンドポイントにも対応しています。CSV、Parquet、JSON などの多くの形式では、FROM 句でファイルを指定するだけでデータを読み込めます。

SELECT * FROM 'myfile.csv';
SELECT * FROM 'myfile.parquet';

DuckDB はオープンなレイクハウス形式にも対応しています。DuckLake はメタデータファイルではなく SQL データベースにテーブルのメタデータを保存するため、ACID トランザクション、スナップショット、タイムトラベルを利用しながら、別個のカタログサーバーを不要にします。また、DuckDB は Apache Iceberg と Delta Lake の形式もサポートしています。詳しくは、データのインポートのセクションをご覧ください。

他のデータベースへの接続

DuckDB は他のデータベースシステムにアタッチして、その場でクエリを実行できるため、個別の ETL ステップを挟まずに、エンジン間でデータの読み取り、結合、移動を行えます。PostgreSQL、MySQL、SQLite のネイティブプロトコルに対応しています。

DuckDB インスタンス同士は、quack プロトコルを介して接続することもできます。これにより、DuckDB インスタンスをサーバーとして稼働させ、他の DuckDB クライアントが HTTP 経由でアタッチできるようになります。

拡張性

DuckDB にはモジュール式の拡張メカニズムがあります。コア拡張機能は DuckDB に同梱されており、コミュニティ製およびサードパーティ製の拡張機能は、実行時にインストールして読み込むことができます。拡張機能を使うと、ファイル形式やデータベースコネクターに加え、新しい関数、型などを追加できます。

インストール

DuckDB のインストール方法については、手順を説明したインストールページをご覧ください。

SQL リファレンス

ドキュメントには、SQL の概要とリファレンスが含まれています。

開発

開発には、DuckDB のビルドにCMake、Python 3、C++17 に準拠したコンパイラーが必要です。ルートディレクトリで make を実行すると、ソースをコンパイルできます。開発時には、make debug を使って、最適化を行わないデバッグ版をビルドしてください。変更後にバージョンが正しく動作することを確認するには、make unit と make allunit を実行してください。パフォーマンスをテストするには、BUILD_BENCHMARK=1 BUILD_TPCH=1 make を実行した後、ルートディレクトリから ./build/release/benchmark/benchmark_runner を実行して、いくつかの標準ベンチマークを実施できます。ベンチマークの詳細については、ベンチマークガイドをご覧ください。

ビルドガイドとコントリビューションガイドもご覧ください。

サポート

サポートオプションページと、専用のendoflife.dateページをご覧ください。

コメント