近年、「NoSQLデータベース」という言葉を耳にすることが増えてきました。
その中でも「Firebase Realtime Database」というサービス名をご存知の方もいらっしゃるのではないでしょうか。
この記事では、Googleが提供するNoSQLデータベースであるFirebase Realtime Databaseについて、その概要と主な特長、料金形態を解説します。
Firebase Realtime Databaseとは
Firebase Realtime Databaseとは、Googleが提供するプラットフォーム「Firebase」のデータベースのうちの一つです。まずはFirebaseについて簡単にご説明します。
Firebaseについて
モバイルやウェブアプリケーションの開発を支援するGoogleのプラットフォームです。
元々は2011年にシリコンバレー発のスタートアップ・Firebase社が開始したクラウドサービスで、クラウドサービスの中でもMBaaS(Mobile Backend as a Service)と呼ばれるモバイルやWebアプリのバックエンド処理向けのサービスです。2014年にGoogleに買収され、Googleの持つクラウドプラットフォームGCP(Google Cloud Platform)に統合されました。
リアルタイムデータベースや認証、クラウドファンクションなど、多くの機能を提供しており、これらの機能を利用することで、迅速かつ効率的にアプリケーションを構築することができます。

Firebase Realtime Databaseについて
Firebase Realtime Databaseは、Firebase Realtime Database はクラウドホスト型データベースです。データは JSON として保存され、接続されているすべてのクライアントとリアルタイムで同期されます。
編集したデータはクラウドに保存され、数ミリ秒で各端末に同期されるため、各アプリケーションはリアルタイムの共同作業が可能になります。
Firebase Realtime Databaseの主な特長
Firebase Realtime Databaseにはどのような特長があるのでしょうか?
ここでは大きく3つの特長をご紹介します。
クラウドホスト型でリアルタイム同期が可能
Firebase Realtime Databaseは、Googleがサーバーを提供してくれるクラウドサービスとなっており、自社でサーバーを用意する必要はありません。
保守・運用についてもGoogleで行うため、開発者はメンテナンスの手間がありません。
また、オンライン環境でクラウドと接続することで、クライアント端末とリアルタイム同期がされます。
PCだけでなくスマートフォンにも対応しているため、アプリ開発や実際の運用にも向いているでしょう。
オフラインでも使用可能
Firebase Realtime Databaseはアプリで表示されるすべてのデータを内部キャッシュに格納しているため、ネットワーク接続が一時的に途切れてもアプリは動作を継続できます。接続が切れている間、Firebaseデータクライアントはローカルに書き込み操作を蓄積します。
オフライン環境下で変更がある場合には、オンライン状態になり次第自動的に同期されます。
急に回線が切断されてしまった場合でも安心な設計となっています。
NoSQLデータベース
Firebase Realtime DatabaseはNoSQLデータベースとなっています。
RDBMSに比べてデータモデルの柔軟性や、大容量・可用性・拡張性が高いなどの特長があります。
データが大きくなってしまった場合にも対応しやすく、サーバーを複数台使用できるので、ビックデータを取り扱うのにも向いているといえるでしょう。
Firebase Realtime Databaseの料金形態
最後に、Google Firebase Realtime Databaseの料金形態について紹介します。
プランは無料で使える「Sparkプラン」と有料の「Blazeプラン」の2種類です。
Sparkプラン
無料プランであるSparkプランは、1つのデータベースを使用することができます。
デバイスの同時接続台数は100台で、保存データ容量やダウンロードデータの容量にも制限があります。
「試しにRealtime Databaseを使いたい」、「趣味で使いたい」という場合には、Sparkプランを使うとよいでしょう。
Blazeプラン
有料プランのBlazeプランは、従量課金制となっています。
複数のデータベースが作成可能で、1つのデータベースあたり20万台のデバイス同時接続が可能です。
ダウンロードデータ、通信プロトコルによる負荷、SSL 暗号化による負荷、Firebaseコンソールから読み書きに伴うデータ、によって料金が変わります。
Blazeプランを検討している場合には、公式の料金計算ツールを使うのがおすすめです。
https://firebase.google.com/pricing?hl=ja
まとめ
Firebase Realtime Databaseは、リアルタイム同期やオフラインでの使用、NoSQL等から様々なアプリケーションのデータベースとして採用されています。
他のGoogleサービスとの連携もでき、Googleで保守・運用をしてくれるクラウドサービスのため、開発者の負担を減らすこともできます。
アプリの開発等を行う場合には、選択肢の一つに検討してみてください。
株式会社KUIXではGCPを用いたシステムの開発やコンサルティングを行っています。本格的なGCP環境の構築・導入をご検討される際は、ぜひ一度ご連絡ください!お問い合わせはこちらから

