クラウド ファイアストア
柔軟でスケーラブルな NoSQL クラウド データベースを使用して、クライアント側およびサーバー側の開発用のデータを保存および同期します。
Cloud Firestore は、Firebase と Google Cloud からモバイル、ウェブ、サーバーを開発するための柔軟でスケーラブルなデータベースです。 Firebase Realtime Database と同様に、リアルタイム リスナーを通じてクライアント アプリ間でデータの同期を維持し、モバイルとウェブのオフライン サポートを提供するため、ネットワークの遅延やインターネット接続に関係なく動作する応答性の高いアプリを構築できます。 Cloud Firestore は、Cloud Functions を含む他の Firebase および Google Cloud プロダクトとのシームレスな統合も提供します。
主な機能
柔軟性 | Cloud Firestore データ モデルは、柔軟な階層データ構造をサポートしています。コレクションに編成されたドキュメントにデータを保存します。ドキュメントには、サブコレクションに加えて、複雑にネストされたオブジェクトを含めることができます。 |
表現力豊かなクエリ | Cloud Firestore では、クエリを使用して、個々の特定のドキュメントを取得したり、クエリ パラメータに一致するコレクション内のすべてのドキュメントを取得したりできます。クエリには、複数のチェーン フィルターを含めることができ、フィルター処理と並べ替えを組み合わせることができます。また、既定でインデックスが作成されるため、クエリのパフォーマンスは、データ セットではなく、結果セットのサイズに比例します。 |
リアルタイム更新 | Realtime Database と同様に、Cloud Firestore はデータ同期を使用して、接続されたデバイスのデータを更新します。ただし、単純な 1 回限りのフェッチ クエリを効率的に作成するようにも設計されています。 |
オフラインサポート | Cloud Firestore はアプリがアクティブに使用しているデータをキャッシュするため、デバイスがオフラインの場合でも、アプリはデータの書き込み、読み取り、リッスン、クエリを実行できます。デバイスがオンラインに戻ると、Cloud Firestore はローカルの変更を Cloud Firestore に同期します。 |
スケーリングするように設計されています | Cloud Firestore は、自動マルチリージョン データ レプリケーション、強力な整合性の保証、アトミック バッチ オペレーション、実際のトランザクション サポートなど、Google Cloud の強力なインフラストラクチャを最大限に活用します。 Cloud Firestore は、世界最大のアプリからの最も厳しいデータベース ワークロードを処理できるように設計されています。 |
それはどのように機能しますか?
Cloud Firestore は、クラウドでホストされる NoSQL データベースであり、Apple、Android、および Web アプリがネイティブ SDK を介して直接アクセスできます。 Cloud Firestore は、REST および RPC API に加えて、ネイティブの Node.js、Java、Python、Unity、C++、および Go SDK でも利用できます。
Cloud Firestore の NoSQL データ モデルに従って、値にマッピングするフィールドを含むドキュメントにデータを保存します。これらのドキュメントはコレクションに格納されます。コレクションは、データを整理してクエリを作成するために使用できるドキュメントのコンテナーです。ドキュメントは、単純な文字列や数値から複雑なネストされたオブジェクトまで、さまざまなデータ型をサポートしています。ドキュメント内にサブコレクションを作成し、データベースの拡大に合わせてスケーリングする階層データ構造を構築することもできます。 Cloud Firestoreデータ モデルは、アプリに最適なデータ構造をサポートします。
さらに、Cloud Firestore でのクエリは、表現力があり、効率的で、柔軟です。コレクション全体またはネストされたサブコレクションを取得する必要なく、ドキュメント レベルでデータを取得するための浅いクエリを作成します。並べ替え、フィルタリング、および制限をクエリまたはカーソルに追加して、結果をページ分割します。更新が発生するたびにデータベース全体を取得せずに、アプリのデータを最新の状態に保つには、リアルタイム リスナーを追加します。リアルタイム リスナーをアプリに追加すると、クライアント アプリがリッスンしているデータが変更されるたびにデータ スナップショットで通知され、新しい変更のみが取得されます。
Android、Apple プラットフォーム、JavaScript 用の Firebase Authentication と Cloud Firestore セキュリティ ルール、またはサーバー側言語用の Identity and Access Management (IAM) を使用して、Cloud Firestore のデータへのアクセスを保護します。
実装パス
Cloud Firestore SDK を統合する | Gradle、CocoaPods、またはスクリプト インクルードを介してクライアントをすばやくインクルードします。 | |
データを保護する | Cloud Firestore セキュリティ ルールまたは Identity and Access Management (IAM) を使用して、モバイル/ウェブおよびサーバー開発用のデータをそれぞれ保護します。 | |
データを追加 | データベースにドキュメントとコレクションを作成します。 | |
データを取得 | クエリを作成するか、リアルタイム リスナーを使用してデータベースからデータを取得します。 |
次のステップ
- Cloud Firestore の使用を開始します。データベースをセットアップし、データを追加して読み取りを開始します。
- Cloud Firestoreデータ モデルの詳細をご覧ください。
- Realtime Database と Cloud Firestore の違いを調べます。