UStackUStack
Netlify Database icon

Netlify Database

Netlify DatabaseはNetlifyに組み込まれたゼロ設定のフルマネージドPostgres。自動マイグレーションとデプロイプレビュー用のDB分岐で安全に検証できます。

Netlify Database

Netlify Databaseとは?

Netlify Databaseは、Netlifyプラットフォームに組み込まれたフルマネージドPostgresデータベースです。データベースのプロビジョニングと管理を代行し、マイグレーションの適用やNetlifyのデプロイワークフローに適合したデータベースブランチの作成を含みます。

主な目的は、リレーショナルデータベースを使ったフルスタックアプリケーションを構築し、コード変更にデータベースを同期させることです。別途ステージングデータベースを手動管理したり、スキーマ更新を手動実行したりする必要はありません。

主な機能

  • Netlify上のフルマネージドPostgres: Netlifyがプロビジョニングを処理するため、インフラ設定なしでアプリケーションがPostgresデータベースを利用開始できます。
  • デプロイ連動の自動マイグレーション: ビルトインのマイグレーションシステムがリポジトリのスキーマ変更を追跡し、本番デプロイおよびデプロイプレビュー時に自動適用します。
  • デプロイプレビュー統合の動的データベース分岐: デプロイプレビュー作成時に本番データのコピーから専用データベースブランチが生成されます。
  • 設計による本番アクセス保護: 本番データベースへのアクセスは本番デプロイのみ許可され、実験が本番データに影響するリスクを低減します。
  • AIワークフローのための分離環境: エージェント実行ごとに自動で専用データベースブランチが割り当てられ、Netlifyの「Agent Runners」インテグレーションコンテキストでスキーマ変更やクエリを分離して作業できます。

Netlify Databaseの使い方

  1. Netlify Database対応のクレジット制プランを作成または選択(Netlify Databaseはクレジット制プランのみ利用可能)。
  2. リポジトリにスキーマとマイグレーションを実装。ドキュメントのマイグレーション手法を使用すると、Netlifyがスキーマ変更を追跡し、デプロイライフサイクルで適切なタイミングで適用します。
  3. アプリケーションを通常通りデプロイ。本番デプロイや通常のワークフロー(例: プルリクエスト作成)でデプロイプレビューを作成します。
  4. デプロイプレビューで変更を安全にテスト: Netlifyが各デプロイプレビューをプレビュー作成時の本番データからコピーした専用データベースブランチに接続します。

ユースケース

  • 本番からのスキーマ乖離なしで変更を検証: 自動マイグレーションが本番デプロイとデプロイプレビューの両方で実行され、デプロイされるコードバージョンとデータベーススキーマが一致することを保証します。
  • データ変更を伴う新機能の安全テスト: 例: デプロイプレビューブランチで記事削除フローを検証し、本番データベースからコンテンツを削除せずに済みます。
  • 並行開発中のチーム間干渉防止: 複数変更を同時進行する場合、個別のデプロイプレビューブランチで共有ステージングデータベースのボトルネックを回避できます。
  • 誤ったマイグレーションやクエリからの迅速回復: 実験変更でデータに意図せず影響を与えるクエリが発生した場合、影響を受けたデータベースブランチをリセットし、本番サイトに影響を与えません。
  • 分離データアクセスでのAIエージェント実行: Agent Runners使用時、各エージェント実行に専用データベースブランチが自動割り当てられ、実験(スキーマ変更含む)が本番データを汚染するリスクを防ぎます。

FAQ

Netlify DatabaseはすべてのNetlifyプランで利用可能ですか?

Netlify Databaseはクレジット制プランのみ利用可能です。

データベースストレージはクレジットがかかりますか?

データベースがアクティブ時は使用したコンピュートと帯域幅分クレジットが消費されます。ドキュメントによると、データベースストレージ容量は2026年7月1日まで無料です。

スキーママイグレーションはどう適用されますか?

Netlify Databaseには、リポジトリのスキーマ変更を追跡し、本番デプロイおよびデプロイプレビュー時に自動適用する自動マイグレーションシステムが含まれます。

デプロイプレビューのデータ分離はどう機能しますか?

デプロイプレビュー作成時、Netlifyはそのプレビューのデータベースブランチ用に本番データのコピーを作成します。プレビュー期間中の変更は本番データベースに影響しません。

AIエージェント向けデータベース分岐の役割は何ですか?

エージェント実行は自動で専用データベースブランチに接続され、分離環境で実験とスキーマ反復を可能にします。

代替案

  • セルフマネージドPostgres(ステージング付き):独自のPostgresインスタンス(本番 + ステージング)を運用し、マイグレーションを手動またはCI/CDで管理します。Netlify Databaseのワークフローに似ていますが、スキーマドリフトや環境同期を通常ご自身で処理します。
  • Database-as-a-service(マネージドPostgres)+別環境:マネージドPostgresプロバイダーを使用し、ステージング・テスト用に別々のデータベース/スキーマを作成します。分岐のような分離とマイグレーションチャイミングの調整は依然として必要です。
  • マイグレーションツール+アプリ管理ワークフロー:マイグレーションフレームワークを使用し、デプロイパイプライン経由でマイグレーションを実行します。マイグレーションの実行タイミングを制御できますが、ここで説明したデプロイプレビューデータベース分岐は自動的には得られません。