n8nのデータ保存先4選|Sheets・SQL・JSONの選び方

n8nのデータ保存先4選|Sheets・SQL・JSONの選び方 アイキャッチ画像 AI自動化

「n8nでワークフローを組んだのに、データをどこに保存すればいいか分からない…」

n8nは実行のたびにワークフロー内のメモリがリセットされます。リードや処理済みデータを「次の実行まで記憶させる」には、外部の保存先が必要です。

この記事では、Google Sheets・Airtable・SQLite・JSONファイルの4つの保存先を比較。目的に合った選び方を初心者にも分かりやすく整理します。

結論、初めての方はGoogle Sheets一択。データ量が増えたら軽量SQLiteへ移行する2段階が最短ルートです。

初めての方は基本編から、すでにn8nを運用中の方は応用編からどうぞ。

n8nのデータ保存が必要な理由を30秒で理解する

n8nはワークフローを実行するたびに、前回のデータをすべてリセットします。

「月曜に取得したリード100件」を水曜のワークフロー実行時に参照したい場合、どこかに保存しておかなければ消えてしまいます。

よくある使いどころはこちらです。

  • フォーム送信されたリード(見込み客情報)を蓄積する
  • 処理済みのIDを記録して重複処理を防ぐ
  • 前回実行からの差分を検知する
  • APIから取得したデータを次のワークフローに渡す

これらすべてに「外部のデータストア」が必要です。

n8nには内蔵のデータベース機能がある

n8nにはSQLiteベースの内蔵DBがあります(n8n自身の設定やワークフロー保存に使われています)。ただし、ユーザーデータの保存には別途ノードを使う必要があります。

「n8n内蔵のDBに直接書き込む」方法も理論上は可能ですが、アップグレード時にデータが消えるリスクがあります。外部のデータストアを使うほうが確実です。

保存先を選ぶ3つの基準

保存先選びで迷ったら、この3つで絞り込みましょう。

基準1:データ量(1日何件くらい?)

1日100件以下なら、Google SheetsやAirtableで十分です。毎日1,000件を超えてくるならSQLの検討が必要になります。Google Sheetsは100万行が上限ですが、行数が増えると動作が遅くなります。

基準2:後でデータを見たいか

「蓄積したデータをブラウザで確認・編集したい」なら、GUIが充実しているGoogle SheetsかAirtableが向いています。コードなしで中身を操作できるのが強みです。

基準3:複雑な検索・集計が必要か

「特定の条件でフィルタして取得したい」「重複チェックを高速に行いたい」など、SQLクエリが得意な処理が必要ならSQLiteかPostgreSQLが適しています。n8nには公式のSQLiteノードもあります。

【結論】目的別おすすめ早見表

保存先 難易度 データ量の目安 GUIで確認 月額コスト おすすめ用途
Google Sheets ★☆☆ 〜10万行 無料〜 初心者・少量リード管理
Airtable ★☆☆ 〜1,000件(無料) 無料〜$20 データベース的な管理
SQLite ★★☆ 無制限(ファイルサイズ次第) △(要ツール) 無料 ローカル・中規模運用
PostgreSQL ★★★ 無制限 ○(pgAdmin等) VPS代など 大規模・本格運用
JSONファイル ★☆☆ 〜数MB推奨 無料 小規模・一時保存

「どれか一つ選ぶなら?」なら、Google Sheets(初心者)またはSQLite(ある程度慣れてきたら)をおすすめします。

【基本編】Google Sheets・Airtableを使う

コードなし・5分で始められる2択です。初めてn8nでデータを保存したい方はここから始めましょう。

Google Sheetsを使う手順

n8nにはGoogle Sheetsノードが標準搭載されています。設定手順はこちらです。

  1. Google アカウントでOAuth 2.0認証を設定する
  2. 保存先のスプレッドシートIDを指定する
  3. 「Append or Update Row」ノードでデータを追記する

重複チェックもできます。「一意のキー(メールアドレス等)」を指定すれば、同じデータを二重登録せずに済みます。

向いている人:少量のリード管理・エラー時にすぐ中身を確認したい方

注意点:行数が増えると読み書きが遅くなります。1万行を超えてきたら移行を検討しましょう。

Airtableを使う手順

Airtableはスプレッドシートとデータベースの中間のようなツールです。n8n標準のAirtableノードで連携できます。

Google Sheetsとの違いは、フィルタビューやギャラリービューなど、データの見せ方が豊富な点です。リード管理をビジュアルで確認したい方に向いています。

無料プランの制限:1,000レコードまで(執筆時点)。それ以上は有料プランが必要です。

💡 実際にやってみた

Mac mini M4 Proでn8nをDockerで常時稼働させています。最初に組んだワークフローは、ウェブフォームから来た問い合わせデータをGoogle Sheetsに蓄積するものでした。

「Append or Update Row」ノードを使い、メールアドレスを一意キーに設定。重複送信も自動で弾いてくれるので、約3週間で150件ほど溜まったところで動作確認が取れました。

ただ、500件を超えたあたりから読み込みが体感できるほど遅くなってきました。そこでSQLiteに移行することにしました。

かかった時間:移行作業に約2時間(Google SheetsのデータをCSVエクスポート→SQLiteにインポート)
つまずいたポイント:n8nのSQLiteノードで日本語カラム名を使うとエラーが出た。英語カラム名に変更して解決
結果:ワークフローの実行速度が体感で2〜3倍速くなり、1,000件を超えても快適に動作しています

【応用編】SQLite・PostgreSQLを使う

データが増えてきた方や、複雑な検索・集計が必要な方向けの選択肢です。

SQLiteを使う方法

SQLiteはファイル1つで完結する軽量データベースです。n8n公式の「SQLite」ノードで読み書きできます。

n8nをDockerで動かしている場合は、ホストマシンのボリュームにSQLiteファイルをマウントするのが一般的です。コンテナを再起動してもデータが消えません。

基本的なデータ保存のSQL例はこちらです。

CREATE TABLE IF NOT EXISTS leads (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  email TEXT UNIQUE,
  name TEXT,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

INSERT OR IGNORE INTO leads (email, name) VALUES (?, ?);

「INSERT OR IGNORE」を使うと、メールアドレスが重複している場合は自動でスキップしてくれます。重複チェックのロジックをワークフロー側に書かなくて済むため、フローがすっきりします。

PostgreSQLを使う方法

より大規模な運用や、複数のワークフローから同時アクセスする場合はPostgreSQLが選択肢に上がります。

クラウドのマネージドDB(Supabase・Neon・Railway等)を使えば、サーバー管理なしで始められます。無料プランでも小〜中規模の運用には十分です。

n8nをVPSで運用している方なら、同じサーバーにPostgreSQLをインストールしてローカル接続する構成が一般的です。レイテンシが最小になり、ワークフローの実行速度が上がります。VPSでn8nをセルフホストしたい方には、ConoHa VPSが月額1,000円台から始められておすすめです。

JSONファイルを使う方法

n8nのReadBinaryFile・WriteBinaryFileノードでJSONファイルを読み書きする方法もあります。

設定が最もシンプルで、コードなしで始められます。ただし、複数のワークフローが同時にファイルへ書き込もうとすると競合が起きるリスクがあります。小規模かつ単一ワークフローで使う場合に限って有効な選択肢です。

失敗しやすいパターンと回避法

失敗①:最初からSQLを選んで挫折する

「どうせSQLが必要になるから最初から使う」という考え方は、n8nに慣れていない段階では裏目に出ることが多いです。

テーブル設計・接続設定・エラーハンドリングのすべてを同時に覚えようとすると、ワークフロー構築どころか環境構築で止まってしまいます。

回避法:まずGoogle Sheetsで動かして、データ操作の流れに慣れてからSQLに移行する。移行コストは思ったより低いです。

失敗②:Google Sheetsで大量データを処理しようとする

Google Sheetsは1回のAPI呼び出しで取得できる行数に上限があります(デフォルト100行)。「全データをループ処理したい」という用途には向いていません。

回避法:フィルタ条件をAirtableの高度なフィルタかSQLのWHERE句で指定して、必要な行だけ取得する設計にする。

失敗③:ワークフロー実行ログをデータ保存に使う

n8nには実行履歴(Execution Log)がありますが、これはデバッグ用途のものです。保持期間も有限で、データとして活用するのは推奨されません。

回避法:ビジネスデータは必ず外部ストアに保存する。実行ログはあくまでもデバッグの補助として使う。

まとめ:迷ったらこの選び方で

  • 初めてならGoogle Sheets:セットアップ5分、GUIで確認できる
  • ビジュアルで管理したいならAirtable:スプレッドシートより直感的
  • データが増えてきたらSQLite:ローカルで完結、移行コスト低め
  • 本格運用・複数ワークフロー共有ならPostgreSQL:マネージドDBで運用コスト最小

n8nでの自動化を本格的に進めたい方には、ワークフロー全体の設計を体系的に学べるAIエージェント実践入門(Amazon)も参考になります。

データの保存先が決まったら、次のステップはワークフローのエラーハンドリングです。n8nをDockerで動かす環境構築記事もあわせて読んでみてください。

コメント

タイトルとURLをコピーしました