Cloud Firestoreは、クライアントサイドおよびサーバーサイドの開発でデータを保存・同期するためにGoogleが提供する柔軟でスケーラブルなNoSQLクラウドデータベースです。Google Firebaseプラットフォームの一部であり、Web、モバイル、IoTアプリケーションのデータを簡単に保存、同期、照会できるように設計されています。
他のNoSQLデータベースと同様に、Firestoreはデータをドキュメントで整理し、それをコレクションにグループ化します。ドキュメントはJSONオブジェクトやPythonの辞書型に似ており、文字列、数値、日付、入れ子オブジェクト、配列など、異なるデータ型を持つさまざまなフィールドを持つことができます。
例えば書店のモバイルアプリを開発するとします。 Books
というコレクションがあり、各ドキュメントが1冊の本を表すとします。各書籍のドキュメントには次のようなフィールドがあります。
Firestoreではコレクションに対して複雑なクエリを実行できます。例えば、「ファンタジー」ジャンルの書籍で、現在在庫があるものをすべて照会できます。Firestoreはこれらの条件を満たす Books
コレクション内のすべてのドキュメントを返します。
Firestoreの大きな特徴のひとつはリアルタイムに更新されることです。ドキュメントやコレクションの変更を随時受け取ることができ、変更があった場合はFirestoreが自動的にアプリに通知します。これはチャットアプリやコラボレーションツールのように、リアルタイムのデータを表示する必要があるアプリに最適です。
また、Firestoreはアプリケーションの需要に合わせて自動的に拡張できるように設計されており、データを保護するための堅牢なセキュリティ機能が搭載されています。他のFirebaseやGoogle Cloud Platform製品とのシームレスな統合を実現し、主要なWebおよびモバイル開発言語用のクライアントライブラリを備えています。
しかし、Firestoreはその柔軟性から使いやすい反面、データモデルを設計する際には、データの重複や複雑すぎるクエリを避けるため、特にアプリケーションのデータが大きくなるにつれて慎重に検討する必要があります。