DuckDB CLI について
DuckDB はサーバーのインストールが不要な埋め込み型 SQL データベースエンジンです。コマンドラインインターフェースを通じて CSV、Parquet、JSON などの形式のファイルを直接クエリでき、データ分析と探索のワークフローに適しています。
主な機能
- 01CSV、Parquet、JSON など複数のローカルファイル形式をクエリ
- 02分析的な SQL クエリを実行して結果を検査
- 03-c フラグで単一コマンドまたはスクリプトを実行
- 04インタラクティブな REPL 環境でデータを探索
活用シーン
- 01エージェントがローカルデータセットを迅速に分析・変換する場合
- 02コーディングエージェントがワークフロー内で構造化データをクエリする場合
- 03データエンジニアがデータ処理パイプラインをプロトタイプする場合
- 04開発者がデータファイルの内容を検査・検証する場合
インストール
OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。
インストール後にduckdb --versionを実行して確認します。
コマンド例
よく使うコマンドを使う順に並べています。
詳細
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ページをご覧ください。