アプリケーションで永続化的なデータを扱うときにデータベースが必要になってくる。個人開発等でマネタイズできるまでは "タダ" で "ラク" に運用しておきたいのでいくつか調べてみた。
データベース
データベースは自前で管理しようとすると、セットアップ、保守、スケーリング、パッチ適用、バックアップポリシー、シャーディング、レプリケーションなど、一から始めると面倒くさいことがたくさんある。そのためいくつかの DBaaS から選定する。
サービス名 | エントリー価格 | DBMSの互換性 | ロケーション | 提供 | 公式サイト |
---|---|---|---|---|---|
Cloud Firestore(Firebase) | 無料利用枠 | NoSQL | 日本あり | GCP | ● |
MongoDB Atlas | 無料利用枠 | NoSQL | 日本あり | MongoDB | ● |
Amazon DynamoDB | 従量課金 | NoSQL | 日本あり | AWS | ● |
Supabase(Database) | 無料利用枠 | PostgreSQL | 日本あり | Supabase | ● |
PlanetScale | 無料利用枠 | MySQL | 日本あり | PlanetScale | ● |
Cloud Firestore(Firebase)
-
特徴: Cloud Firestore は、Firebase と Google Cloud からのモバイル、ウェブ、サーバー開発に対応した柔軟でスケーラブルなデータベースである。
- データベースに直接接続する迅速かつ柔軟でスケーラブルなウェブとモバイルの開発に最適
- データベースの変更に応じた簡単なリアルタイムデータ同期をサポート
- オフラインモードを堅牢にサポート。インターネットが利用できない場合や不安定な場合でも、ユーザーはアプリを操作し続けることが可能
- 自由にカスタマイズ可能なセキュリティとデータの検証ルールで、データを確実に保護可能
- 強整合性、柔軟なスケーリング、高パフォーマンスに加え、最高水準の 99.999% の可用性が組み込まれている
- Firebase は、Cloud Functions や BigQuery(サーバーレス データ ウェアハウス)などの Google Cloud サービスと統合可能
- 豊富な Google Cloud サービス統合に加え、Firestore は Firebase Extensions を介して、増え続けるサードパーティパートナー各社とワンクリックで緊密に統合し、アプリケーションの構築をさらに高速化可能
-
価格:
無料利用枠 割り当て 保存データ 1 GiB ドキュメントの読み取り 50,000/日 ドキュメントの書き込み 20,000/日 ドキュメントの削除 20,000/日 下り(外向き)ネットワーク 10 GiB/月
MongoDB Atlas
-
特徴: MongoDB Atlas は、MongoDB 向けの主要なクラウド データベース ソリューションである。Atlas Search、Atlas Data Lake、MongoDB Charts などの組み込みサービスにより、MongoDB を使用した強力なアプリの構築が容易になる。さらに、ユーザーインターフェースは使いやすい。無料層は小規模なプロジェクトをサポートし、有料層は中規模のプロジェクトに適している。今日、MongoDB は、可用性、スケーラビリティ、およびデータ セキュリティとプライバシー基準への準拠を誇っている。
-
価格:
無料利用枠
- 512MB~5GBのストレージ
- 共有 RAM
- 始めるのにクレジットカードは不要
Amazon DynamoDB
-
特徴: Amazon DynamoDB は、key-value およびドキュメントデータモデルをサポートする NoSQL データベースである。開発者は、DynamoDB を使用して小規模から開始してグローバルまで拡張できる最新のサーバーレスアプリケーションを構築して数ペタバイトのデータや 1 秒あたり数千万の読み込みおよび書き込みリクエストをサポートできる。DynamoDB は、従来のリレーショナルデータベースであれば高い負荷を生じさせていた高パフォーマンスのインターネット規模のアプリケーションを実行するように設計されている。
-
価格: DynamoDB Standard テーブルクラスを使用すると、最初に保存される 25 GB (1 か月あたり) は無料(それ以降、0.285USD/GB-月)
オンデマンドスループットタイプ 料金 書き込み要求単位 (WRU) 書き込み要求ユニット 100 万あたり 1.4269USD 読み出し要求単位 (RRU) 読み出し要求ユニット 100 万あたり 0.285USD
AWS の価格は複雑なので詳しくは以下の参考サイトを見てください。
Supabase(Database)
-
特徴: Supabase は、開発者にとって非常に使いやすい、GCP の Firebase に代わるオープンソースである。Supabase プロジェクトは PostgreSQL データベースであるため、認証目的で PostgreSQL の行レベル セキュリティを利用できる。
-
価格:
無料利用枠
- 最大 500MB のデータベースと 1GB のファイル ストレージ
- 最大 2GB の帯域幅
- 最大 50MB のファイルのアップロード
- 最大 500K のエッジ関数呼び出し
- 1 日間のログ保持
PlanetScale
-
特徴: PlanetScale は、スケーラビリティ、ディザスタ リカバリ用のマルチクラウド ソリューション、マルチリージョン展開のコンプライアンスを優先する場合に最適である。注目すべき機能は、そのライブ データベース ブランチだ。各ライブ データベース ブランチは、データベースのスキーマのコピーを使用してデプロイされた個別のデータベースである。これにより、ノンブロッキングのスキーマ変更が可能になる。つまり、本番データベースでロックやダウンタイムを発生させることなく、データベース テーブルを更新できる。
-
価格:
無料利用枠
- 5GBのストレージ
- 10 億行の読み取り/月
- 1,000 万行の書き込み/月
- 1 つの生産ブランチ
- 1 開発ブランチ
参考資料