Firestore(Google Cloud)

GCP
この記事は約2分で読めます。
スポンサーリンク

FilestoreはNoSQLドキュメントデータベースのサービスになります。
個人的に、NoSQLのサービスである「Firestore」とNFSサービスである「Filestore」が紛らわしいので名称変えて欲しいです。

接続方法

接続する場合はクライアントライブラリを使用することになります。
クライアントアプリは無く、プログラム以外でデータにアクセスする場合はコンソールからの操作になります。

データモデル

NoSQLがベースになっているので、データはKey-Valueとして保存することになります。
ドキュメントデータベースでは、このKey-Valueデータの管理を「コレクション」「ドキュメント」という形で管理します。
Key-Valueデータを「ドキュメント」という単位で管理し、ドキュメントは「コレクション」という単位でまとめられます。
ドキュメントを「ファイル」、コレクションを「フォルダ」と考えるとわかりやすいかもしれません。

ドキュメントデータベースはファイルシステムと考えると理解しやすいと思います。
ファイルシステムと同様に階層構造を作成することもできます。
この機能を「サブコレクション」と呼びます。
ファイルシステムと考えるとコレクションの下にサブコレクションが作成されるようにイメージしてしまいますが、実際には「コレクション」→「ドキュメント」→「サブコレクション」という形でドキュメント(ファイル)にサブコレクション(サブフォルダ)が紐づく形になります。
一見奇妙に見えますが、データ構造を考えると、「特定のデータの下にさらにデータの塊を格納する」という実装になるのでドキュメントの下にサブコレクションが紐付けられるのは自然な形になります。

インデックス

Firestoreは「単一フィールドインデックス」「複合インデックス」の2種類を使用することができます。

単一フィールドインデックスは自動で作成されますので特に作業は必要ありません。
必要に応じて、インデックスを作成しないことも可能です。
データ量が大きい場合や、更新頻度が高い場合は性能面で問題が出たりインデックスの上限に達する場合があるので除外することが推奨されています。

複合インデックスは手動で作成する必要があります。

コメント

タイトルとURLをコピーしました