DuckDBのロゴ

組み込み分析

接続する ダックDB Excel、Google Sheets、AI、RESTへ

OLAPワークロード向けの組み込み分析データベース(ローカルファイル、ネットワーク共有、またはインメモリ)。Query Streamsは、File SetファミリーのDuckDBを使用してフォルダスキーマを固定します。

一つの接続、あらゆる表面

DuckDBのデータが保存される場所

Query Streams は、Microsoft Excel、Google Sheets、Power BI、MCP 経由の AI アシスタント、REST エンドポイントなどから、DuckDB ファイルをライブ SQL として読み取ります。サーバーを実行する必要はなく、他の場所に何もロードする必要もありません。エンジンはエージェントに組み込まれているため、ディスク上の .duckdb ファイルがデータベースになります。SQL は記述したとおりに DuckDB に渡されるため、ユーザーが DuckDB を選択する理由である GROUP BY ALL、QUALIFY、SELECT * EXCLUDE、リストおよび構造体へのアクセスといった、DuckDB の特長はすべてそのまま機能し、最小公倍数に平坦化されることはありません。

  1. チーム、ベンダー、パートナーの皆様へ
  2. DuckDB から Excel Microsoft Excel · Excelアドイン

    DuckDBのリアルタイム検索結果をワークシートに直接取り込み、必要に応じて更新できます。対応プラットフォームは、デスクトップ版Excel、Excel Online、Microsoft 365です。

    DuckDBガイド
  3. DuckDBからGoogleスプレッドシートへ Sheetsアドオン

    サイドバーから保存済みのDuckDBクエリを実行し、結果をシートにドラッグ&ドロップします。共有している共同作業者は、各自でシートを更新できます。

    DuckDBガイド
  4. NovaにDuckDBについて聞いてみよう Nova AI · テキストからSQLへ

    平易な英語で質問してください。Novaは既にあなたのDuckDBテーブルを認識しており、SQL文を作成して実行し、回答を説明してグラフ化します。クエリを作成する必要も、認証情報を渡す必要もありません。

    Novaの仕組み
  5. DuckDBからデータビューアへ 結果共有 · チーム、ベンダー、パートナー · 電話、タブレット、デスクトップ

    DuckDBのリアルタイム結果を、同僚、ベンダー、パートナーなど、誰とでも共有できます。共有されたグリッドはブックマーク可能で、スマートフォン、タブレット、デスクトップなど、どのデバイスで開いても常に最新の状態に戻ります。相手には結果のみが表示され、SQL文や認証情報は一切表示されません。

    データビューアの仕組み
  6. アプリとシステム向け
  7. DuckDB REST API HTTPエンドポイント

    DuckDBクエリを認証済みのJSONエンドポイントとして公開し、あらゆるアプリケーションから呼び出し可能です。OpenAPI 3.1仕様に準拠し、Postman、Insomnia、Hoppscotch用のコレクションも用意されています。データベースポートは開放されません。

    DuckDBガイド
  8. DuckDBからPower BIへ Power Query M

    生成された Power Query M を Power BI アドバンスト エディターに貼り付けると、レポートは HTTPS 経由で DuckDB のリアルタイムの結果を読み取ります。ODBC ドライバーもデータベース ポートも必要ありません。

    Power BI の仕組み
  9. DuckDBからAirtableへ 自動化プラットフォーム

    スケジュールに基づいてDuckDBの行をAirtableベースに同期したり、Airtableの自動化スクリプト内で取得したりできます。

    DuckDBガイド
  10. DuckDBからBaserowへ 自動化プラットフォーム

    RESTエンドポイント経由でDuckDBからBaserowテーブルにデータを供給します(セルフホスト環境またはBaserowクラウド環境)。

    DuckDBガイド
  11. DuckDBからSeaTableへ 自動化プラットフォーム

    ファイルをエクスポートしたりデータベースを公開したりすることなく、SeaTableのベースをDuckDBデータで常に最新の状態に保つ。

    DuckDBガイド
  12. DuckDBからSmartsheetへ 自動化プラットフォーム

    DuckDBの結果をSmartsheetのグリッドにプッシュすることで、計画やレポートが先週のエクスポートデータではなく、元のシステムから読み込まれるようになります。

    DuckDBガイド
  13. DuckDBからAnvilへ Anvil Works · アプリプラットフォーム

    Anvil PythonアプリをDuckDBでバックアップするには、アプリ内にデータベース認証情報を埋め込むのではなく、RESTエンドポイントを介してバックアップします。

    DuckDBガイド
  14. AIツール向け
  15. DuckDB MCPサーバー Claude、Cursor、およびMCPクライアント

    AIアシスタントに、正しいSQLを作成するために必要なスキーマを含むDuckDBへの読み取り専用アクセス権を与えます。チャットに認証情報を含める必要はありません。

    DuckDBガイド
  16. 人々に届けられる
  17. DuckDBのアラートとレポート Slack · Discord · メール · Webhook

    DuckDBクエリをスケジュール設定して、結果をSlack、Discord、メール、または署名付きWebhookに送信するか、行数、しきい値、または変化率が設定した値を超えるまでメッセージを保留することができます。

    アラートとレポートの仕組み

仕組み

5つのステップ、受信ファイアウォールの変更は不要

01

ファイルが格納されているマシンにネットワークエージェントをインストールしてください。DuckDBサーバーを起動したり、ポートを開放したりする必要はありません。エンジンはエージェントに内蔵されています。

02

ローカルディスクまたはマシンがアクセスできる共有フォルダにある、.duckdb、.db、または.ddbファイルを指定してください。

03

エージェントはファイル内のテーブルとビューを読み込み、列の型を記録するため、クエリビルダーとNovaは、ユーザーが何かを書き込む前にその構造を把握できます。

04

DuckDBのSQL文を記述するか、必要な内容を記述してNovaに自動生成させるかを選択できます。処理過程で翻訳は一切行われません。

05

Microsoft Excel、Google Sheets、Power BI、MCP、またはRESTから保存されたクエリを読み込み、必要に応じて他の接続と結合します。

機能の詳細解説

DuckDBが提供するもの

たまたまファイルである分析エンジン

DuckDBは列指向かつベクトル化されており、技術的には、ノートパソコン上で何百万行ものデータを問題なく集計できることを意味します。そのため、スプレッドシートの背後に配置するには、奇妙でありながらも非常に便利なツールと言えるでしょう。

  • サーバーもサービスもポートも不要です。ファイル自体がデータベースであり、エンジンはそのファイルを読み込むエージェント内で動作します。
  • 集約処理は、ファイルが格納されているマシン上のDuckDBで行われます。ネットワークを介して送信されるのは、その結果です。 通常は数億行のうちの数百行程度です。
  • これはデータパイプラインの自然な終着点です。誰かがParquetまたはCSVから.duckdbファイルを作成し、会社の他の部門はデータウェアハウスを介さずにこのファイルを読み取ることができます。
  • ビューとテーブルの両方が一覧表示されるため、有用な表面が厳選されたビューのセットであるファイルは、生のテーブルとしてではなく、ビューとしてクエリ可能です。

DuckDBのSQLは、変更されずにそのまま渡されます。

エージェントには翻訳レイヤーがありません。保存するステートメントはDuckDBが受け取るステートメントそのものなので、方言の良い部分がそのまま利用でき、近似的な表現は行われません。

  • GROUP BY ALLとORDER BY ALLは、分析クエリの面倒な作業のほとんどを解消します。
  • SELECT * EXCLUDE (col) と SELECT * REPLACE (...) は、誰も必要としない 1 つの列以外のすべてを取得したい場合に使用します。
  • QUALIFY を使用すると、ウィンドウ関数全体をサブクエリで囲むことなくフィルタリングできます。
  • ウィンドウ関数、CTE、リスト内包表記のすべて — DuckDBの方言であって、移植可能なサブセットではない。
-- DuckDB SQL、記述どおりにエンジンに到達 SELECT * EXCLUDE (internal_id) FROM ( SELECT region, product, sum(amount) AS revenue, internal_id, row_number() OVER (PARTITION BY region ORDER BY sum(amount) DESC) AS rk FROM sales GROUP BY ALL ) QUALIFY rk <= 3 ORDER BY region, revenue DESC

ネストされた列はJSON形式で届きます

DuckDBはスプレッドシートのセルよりも豊富な型システムを備えているため、レポートを作成する前に、どのデータがどの型に分類されるかを把握しておくことが重要です。

  • STRUCT、LIST、MAP、UNIONの列はJSONテキストとして返されます 読みやすく、解析しやすく、そして暗黙のうちに誤った形で切り捨てられないこと。
  • BLOB列は削除されるのではなく、Base64エンコードされます。
  • 日付、タイムスタンプ、タイムゾーン付きタイムスタンプ、および小数点以下の値はそのままの形で渡されるため、数値は数値のままであり、丸め処理はユーザー自身で行ったとおりに行われます。
  • ドライバーが本当に表現できないものは、空白として表示されるのではなく、セル内にその旨が明記されます。

すべてのデータベースコネクタで共有されます

すべてのデータベースコネクタに当てはまる

  • 発信専用 エージェントは、クエリ ストリームへの暗号化された接続を 1 つだけ開きます。受信ポートの転送も、VPN も、IP 許可リストも不要で、データベースに関する情報がインターネットに公開されることは一切ありません。
  • 認証情報はそのまま保持されます データベースのユーザー名とパスワードは、エージェントをインストールしたマシン上に存在します。Query Streamsはこれらを受け取ることはなく、単独ではデータベースにアクセスできません。
  • 読み取り専用、強制 一度に1つのステートメントのみ、SELECT文とその関連文のみ。書き込みは、誰かが設定した権限に頼るのではなく、サーバーに送信される前に自分のマシン上で拒否されます。
  • エージェントは好きなだけデプロイできます サイト、リージョン、クラウドごとに1つずつ。ユーザーが確認できるすべてのデータソースは単一のドロップダウンリストに表示されるため、どのエージェントがどのデータをホストしているかを誰も知る必要はありません。

クエリが保存されると、次のようになります。

  • SQLではなく、機能を共有する。 同僚や外部パートナーが、クエリの背後にあるステートメントを見ることなく、クエリを実行してフィルターを変更できてしまう。
  • どちらの方向からでもフィルターをかける それらを@変数として自分で宣言するか、コネクタにWHERE句に既に存在するリテラル値を検出させて、ドロップダウンとして提供させます。
  • どこからでも読める Microsoft Excel、Google Sheets、Power BI、REST API、MCP上のAIアシスタント、クエリビルダー、Novaはすべて、同じ保存済みクエリを読み取ります。
  • 複数同時に実行 — 5つの保存済みクエリを5つのワークシートタブに表示し、結果の規模に関わらず同時にストリーミングします。
  • すでに接続済みの他のものにも接続してください — 別のデータベース、ビジネスAPI、またはファイルフォルダを、1つの読み取り専用ステートメントで取得します。

クロスソースSQL

DuckDBを他のデータと連携させる

1つのステートメントで、DuckDBと他の接続を同時に処理できます。各ソースは実行可能な部分のみを実行し、結果をストリーミングで返送します。結合処理は中央で行われるため、ソース同士が直接通信したり、データがどこかにコピーされたりすることはありません。

接続数3件・エージェント数3名

ダックDB 組み込み分析
PostgreSQL 関係エンジン
ストライプ 支払いと請求

一つの声明

-- コピーなし、マージなし、スケジュールなし
セレクト   c.region、COUNT(*) AS orders、SUM(i.amount_due) AS invoiced
フロム     分析.main.orders1   f
ジョイン     pg_crm.一般顧客2 c ON c.id = f.customer_id
ジョイン     請求する.stripe.invoices3 i ON i.customer = c.stripe_id
GROUP BY c.領域
ORDER BY 請求書記載のDESC;

接続、スキーマ、テーブルの3つの部分から構成され、接続名はユーザーが自由に設定できます。これは例示用の列であり、テーブルはユーザー自身が設定します。読み取り専用はすべての要素に適用され、SELECT、WITH、EXPLAINのみが使用可能で、1つのクエリで1つのソースが渡せるデータ量には上限があります。 フェデレーションクエリの仕組み

接続の詳細

DuckDBが必要とするもの

あなたが指し示すもの
エージェントが動作するマシン上に、.duckdb、.db、または.ddbファイルが1つ必要です。
パス
ローカルパス、またはマシンがアクセスできるUNC共有(ローカルディスクの方が高速)
エンジン
DuckDB 1.4.4 はエージェントに組み込まれています。インストール、起動、実行は不要です。
港
なし。接続できるDuckDBサーバーがないため、開くものはありません。
オブジェクト
ファイル内のテーブルとビュー
SQL方言
DuckDB SQLは、変換レイヤーなしで、記述したとおりにエンジンに渡されます。
読み取り専用
ステートメント実行前にチェックされます — SELECT、WITH、および関連ステートメントのみ
ネストされた型
STRUCT、LIST、MAP、UNIONはJSONテキストとして返され、BLOBはbase64として返されます。
スキーマ
DuckDBのデフォルトスキーマはmainであり、これはフェデレーション参照に保持されるものです。

DuckDBは、パイプラインの開始点ではなく、終了点として利用されることが多い。誰かがParquetエクスポートやCSVファイルの山からファイルを作成し、質問に必要な形式に整えた後、回答を必要とする人々がMicrosoft Excelを使用していることに気づく。通常、次のステップは、既にディスクに収まるデータ用のデータウェアハウスを構築することだ。このコネクタは、もう一つの選択肢を提供する。つまり、ファイルをそのままにして、スプレッドシートに読み込ませるのだ。

型マッピングは、計画的に進めるべき重要な部分です。STRUCTやLISTは、スプレッドシートに相当するデータ構造を持たない、真のDuckDBデータです。そのため、JSONテキストとして扱われます。これは正直で解析可能ですが、合計できる数値ではありません。ネストされた列がレポートの要となる場合は、出力先ではなくクエリ内でネストを解除してください。DuckDBであれば、適切かつ低コストで処理できます。

クロスソースクエリの場合、DuckDB のデフォルトスキーマは main なので、ウェアハウスファイルを読み取る analytics という接続は analytics.main.sales と書き込まれます。ここからが興味深いところです。履歴が満載の分析ファイルが、まだ動いている運用データベースと請求 API に 1 つのステートメントで結合されるのです。

ベンダー資料: duckdb.org

よくある質問

DuckDBに関する質問

クエリ ストリームを介して DuckDB のデータを読み取ることができるツールはどれですか?

Excel、Google Sheets、MCP、REST API、Airtable、Baserow、SeaTable、Smartsheet、Anvil、Power BI、スケジュールされたアラートやレポートなど、すべてを1つの接続で利用できます。データベースに一度接続すれば、すべてのインターフェースが同じ読み取り専用接続を読み取ることができます。ツールごとの設定やデータの複製は一切不要です。

DuckDBデータベースへのファイアウォールポートを開放する必要がありますか?

いいえ。Query Streams Network Agentはネットワーク内で動作し、暗号化された単一の送信接続を開きます。受信トラフィックを監視するものはなく、VPNも不要で、データベースは既存のファイアウォールルールを維持します。

クエリ ストリームは DuckDB のデータを変更できますか?

いいえ。エージェントは実行時に読み取り専用を強制します。つまり、一度に1つのステートメント(SELECT文など)のみを実行します。認証情報はエージェント上に保持され、クエリ ストリームに送信されることはありません。

Query StreamsがDuckDBに接続するために必要なものは何ですか?

到達可能なホスト、ロール、およびそのパスワード - エージェントがドライバを運ぶため、データベースには何もインストールされません。指定するもの: エージェントが実行されるマシン上の .duckdb、.db、または .ddb ファイル 1 つ。パス: ローカル パス、またはマシンがアクセスできる UNC 共有 - ローカル ディスクの方が高速です。エンジン: エージェントに組み込まれている DuckDB 1.4.4。インストール、起動、または実行し続けるものはありません。ポート: なし。アクセスする DuckDB サーバーがないため、開くものはありません。

同じクエリ内でDuckDBを別のデータベースに結合することはできますか?

はい、それはフェデレーションクエリです。1つのステートメントで、DuckDBと他の接続を同時に参照でき、connection.schema.table の形式で記述されます。各ソースは実行可能な部分のみを実行し、結果をストリームで返します。結合は中央で行われるため、ソース同士が接続されることはなく、何もコピーまたはスケジュールされません。読み取り専用はすべての部分(SELECT、WITH、EXPLAINのみ)に適用され、1つのソースが単一のクエリで渡せるデータ量には上限があります。フェデレーションクエリはプラン機能であり、フェデレーションクエリのページには現在のソースとサイズの制限が表示されます。

作業が行われる場所にDuckDBを配置する

エージェントをインストールし、データベースを指定して、保存先を選択してください。

読み取り専用 発信専用 認証情報はエージェントに保持されます