Heroku
AWS
gcp
Firebase
個人開発

【クラウドDB比較】無料枠で提供されるサービスレベル

はじめに

クラウドサービス多すぎる。
なんとなく使いたいものは決まっているのですけど、自己学習も兼ねてふわっとサービスレベルを比較してみる。

VPS/PaaS/FaaSの比較はこちら: 【クラウドVPS/PaaS/FaaS比較】最低料金とサービスレベルの比較

前提

  • 無料枠で何ができるんだろう?の比較
    • 個人開発レベルで何を選ぶかの選定に使う程度の比較
    • エンタープライズとして何を使うかレベルの詳細な機能比較ではない
  • 初回登録時の「〜ドル分のクレジットをプレゼント!」みたいなのは、無視してます。
  • AWSとGCPとFirebaseとHerokuとMongoDB@Atlasの比較
  • DBのカテゴライズはテキトーです
    • あくまで自分が理解しやすい分類の仕方

注意事項
当たり前のことを書きます。

  • 個人開発のサービスが育ったときにどれが一番安いかは、ケースバイケース
  • 最新情報は公式サイトをご確認ください
  • ざっくり把握することを前提にした記事なので、厳密には表現が違う部分があるやもです

比較対象

一行説明は、基本的に公式サイトから取得してます。

RDBMS
意外と少ない。

  • AmazonRDS@AWS:6 つの人気データベースエンジンから選択できるマネージドリレーショナルデータベースサービス。
  • CloudSQL@GCP:MySQL と PostgreSQL のフルマネージド データベース サービス
  • CloudSpanner@GCP:水平スケーリング可能で高い整合性を備えた、初のリレーショナル データベース サービス
  • HerokuPostgres@Heroku:信頼性が高く、強力なデータベース(Postgres)。

CloudSpanner@GCPをRDBMSカテゴリにまとめて良いのか悩ましい。。。

DWH
DWHとは

  • AmazonRedshift@AWS:高速、シンプル、費用対効果の高いデータウェアハウス。
  • GoogleBigQuery@GCP:機械学習が組み込まれ、高速かつ高スケーラビリティでコスト効率に優れた、分析用フルマネージド クラウド データ ウェアハウス

NoSQL(KVS:サーバ接続)
サーバからアクセスする系

  • MongoDB@Atlas:DBなんかに時間をかけずアプリ開発に時間をかけたい人向けの高速なMongoDBクラウドサービス。
  • AmazonDynamoDB@AWS:どのような規模においてもパフォーマンスを必要とするアプリケーション用の非リレーショナルデータベース。
  • CloudBigtable@GCP:大量データの分析や操作に適したペタバイト規模のフルマネージド NoSQL データベース サービス。
  • CloudDataStore@GCP:ウェブ、モバイル アプリケーションのためのスケーラビリティの高い NoSQL データベース(Bigtableの機能を絞って、使いやすくしたサービス?)

NoSQL(KVS:クライアント接続)
クライアントからもアクセスできちゃう系

NoSQL(グラフDB)
調べた範囲では、選択肢が一つしかないので、比較しない。

  • AmazonNeptune@AWS:クラウド向けに構築された高速で信頼性の高いグラフデータベース。

そもそもグラフDBとは何かって人は、以下リンクをご参照ください。
[15分で] グラフデータベースNeo4jに超入門してみた

NoSQL(インメモリDB)
DB界のストレイト・クーガー2ってイメージ。

比較結果

RDBMS

金額の安心感を基軸にRDBMSを選択するなら、HerokuPostgres@Heroku で良さそう。
サービスが育ってきたら、早めにプランを切り替えるか、別のサービスに切り替える感じかな。。。

機能面で見ると、説明見る限り、CloudSpanner@GCPがNoSQLとRDBMSの良いとこ取りのように見えるけど、果たしてどんな制約があるのだろうか・・・

サービス名 永久無料枠 期間限定無料枠 容量上限 性能上限 時間上限
AmazonRDS@AWS ❌:なし ⭕️:あり 20 GB 1,000 万IO/月 稼働:750 時間/月
CloudSQL@GCP ❌:なし ❌:なし - - -
CloudSpanner@GCP ❌:なし ❌:なし - - -
HerokuPostgres@Heroku ⭕️:あり ❌:なし 行数:1 万 同時接続数:20/月 ダウンタイム:最大 4 時間/月

DWH

無料枠だけ見れば、GoogleBigQuery@GCPかな?
とは言え、「BigQueryで150万円溶かした人の顔」を見かけたことがあるので、使いすぎには注意したい。(BigQueryに限った話では無いけど)

サービス名 永久無料枠 期間限定無料枠 容量上限 書込上限 読込上限
AmazonRedshift@AWS ❌:なし ❌:なし - - -
GoogleBigQuery@GCP 🔺:部分的にあり ❌:なし 10 GB 有償 1TB

NoSQL(KVS:サーバ接続)

ケースバイケース。
データ量が少ないなら、MongoDB@Atlas
データ量が多い場合は、AmazonDynamoDB@AWSかな?

機能面でいうと、CloudDataStore@GCPは賛否両論感を感じた。3
AmazonDynamoDB@AWSは割と枯れてきてる気がするので、困っても情報がどっかに落ちてそう。

サービス名 永久無料枠 期間限定無料枠 容量上限 書込上限 読込上限
MongoDB@Atlas ⭕️:あり ❌:なし 512MB たぶん無い たぶん無い
AmazonDynamoDB@AWS ⭕️:あり ❌:なし 25GB 25回/ 秒 25回/秒
CloudBigtable@GCP ❌:なし ❌:なし - - -
CloudDataStore@GCP ⭕️:あり ❌:なし 1GB 20,000回/日 50,000回/日

NoSQL(KVS:クライアント接続)

同時アクセスが少ないなら、RealtimeDatabase@Firebaseが金額面では安心っぽい?
でも、機能面ではFireStroe@Firebaseの方が上っぽいので、悩ましいところ。

サービス名 永久無料枠 期間限定無料枠 容量上限 書込上限 読込上限
CloudFireStroe@GCP ⭕️:あり ❌:なし 1GB 2 万/日 5 万/日
FireStroe@Firebase ⭕️:あり ❌:なし 1GB 2 万/日 5 万/日
RealtimeDatabase@Firebase ⭕️:あり ❌:なし 1GB 同時接続100 同時接続100

NoSQL(インメモリDB)

HerokuRedis@Herokuが金額面では安心だけど、そもそもHerokuにインスタンスが無いと、インメモリDBの恩恵を受けにくい気がする。

サービス名 永久無料枠 期間限定無料枠 容量上限 同時アクセス上限 時間上限 Memcached Redis
AmazonElastiCache@AWS ❌:なし ⭕️:あり - - 750時間 ⭕️ ⭕️
CloudMemoryStore@GCP ❌:なし ❌:なし - - - ⭕️
HerokuRedis@Heroku ⭕️:あり ❌:なし 25MB 20 1000時間? ⭕️

さいごに

機能面で多種多様になってきたデータベースに全然ついていけてない・・・
個人開発において、金銭面での不安はあるのですが、GCPやHerokuに関しては、無償枠で登録している限りは、絶対に課金されないという安心感が嬉しい。

参考


  1. Firebase RTDB + GCP datastore = Firestoreについて第一印象 

  2. 「お前に足りないモノ!それはァァー!情熱思想理念頭脳気品優雅さ勤勉さァ! そして何よりもぉおーッ! 速 さ が 足 り な い ! 」 

  3. AmazonDynamoDB@AWSよりも凄い!」って情報もあれば、「単純に使いにくい・・・」って情報もあった。