どちらを選ぶ? Firebaseが提供する2つのデータベース「Realtime Database」「Cloud Firestore」
GoogleのmBaaS「Firebase」を活用したスマートなアプリ開発 第6回
クロスプラットフォームに対応した、Googleが提供するmBaaS「Firebase」。無料で使い始めることができ、アプリ開発者の工数を大幅削減できるサービスです。連載第6回は、Firebaseが提供する2つのデータベース、Realtime DatabaseとCloud Firestoreについて詳しく解説します。
Realtime DatabaseとCloud Firestoreの共通点
Realtime DatabaseとCloud Firestoreは以下のような共通点を持っています。
- クライアントファーストのSDK(デプロイして維持するサーバーが不要)
- リアルタイム更新
- 無料利用枠があり、その後は使用分に従う支払い
どちらのサービスを採用するかは、上記の共通点に加え、技術・ビジネスの両面において得意・不得意なことがあるため、サービスの詳細を知る必要があります。前半はそれぞれのサービスが得意なことを、後半は実際に使用する際に気になる料金体系についての大きな違いについて記載します。
Realtime Databaseについて
Realtime Databaseは、データをJSONとして保存し、Webやネイティブを含めた様々なプラットフォームで構築されるクライアント全てに対してリアルタイムで同期されます。Firebase Realtime Database SDKはデータを各デバイスに保持するため、オフラインでも応答性を維持しリアルタイムイベントを止めずに使用することができます。
電波状況が不安定なモバイル端末や、回線が不安定な状況などでの使用を視野に入れているため、各デバイスの接続が復帰した際にオフラインの間に発生したデータの変更を含めてRealtime Database側に更新を同期、競合をマージする仕組みとなっています。
Realtime Databaseはクライアントの接続状態がオンラインかオフラインかの接続状態を記録し、変化のたびに更新を提供できます。また、Realtime Databaseにおいては、料金体系がストレージ量とダウンロード量によって決まる形になっています(逆にFirestoreの場合は書き込み・読み込みの回数によって料金が決まります)。
Realtime Databaseの料金体系は、2023年9月現在、保存は5ドル/GB、ダウンロードは1ドル/GBとなっており、無料枠は、保存は1GB、ダウンロードは10GBです。この料金体系の通り、通信の回数や書き込み回数などは料金がかからないため、
- ストレージの上限が大規模ではない
- データの書き込み頻度が高い
といった条件のプロダクトでは、料金を抑えることができるかもしれません。デジタルホワイトボードアプリなど、アプリが小さな更新のストリームを送信する場合にRealtimeデータベースが向いている、という公式の記載があります。
この記事は参考になりましたか?
- GoogleのmBaaS「Firebase」を活用したスマートなアプリ開発連載記事一覧
-
- どちらを選ぶ? Firebaseが提供する2つのデータベース「Realtime Datab...
- Firebase Authenticationを活用してユーザー認証機能を実装しよう
- FirebaseでPush通知を実現しよう! Firebase Cloud Messagi...
- この記事の著者
-
株式会社ブリューアス PMO室(カブシキガイシャブリューアス ピーエムオーシツ)
スマホアプリ開発を中心にUIUXデザインからWeb制作まで、多様な技術力と実績を持つ開発会社です。BtoBからBtoCまで幅広い領域での制作・開発経験があります。 Brewus.inc
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
