Google Cloud Datastore (Firestore の Datastore モード)
昔は Google Cloud Datastore と Firestore は全く別のサービスだったが、今は統合されている。
これまでの Firestore は「Firestore の Native モード」
Google Cloud Datastore は「Firestore の Datastore モード」と呼ばれる
ここでは Firestore の Datastore モードについて説明する
以下、Datastore と呼ぶことにする
Datastore のドキュメント
Datastore の基本
Datastore では、データ オブジェクトをエンティティといいます。
同じ種類のエンティティが同じプロパティを持つとは限りません。また、エンティティの特定のプロパティの値がすべて同じデータ型である必要はありません。(ただし、基本的には同じプロパティを持つことが多いはずです)
エンティティのID
Datastore モードのデータベース内の各エンティティはキーによって一意に識別されます。キーは次の組み合わせです。
namespace
エンティティの種類 (kind)
エンティティのID
ID は次のどちらかです
キー文字列
整数の数値 ID
祖先パス (オプショナル)
Datastore のベストプラクティスのページがあり、その中にキーの決め方についても書いてあります
祖先パス
Datastore のエンティティは、階層構造を形成している。エンティティを作成する時に、他のエンティティを親に指定することができる。
ちなみに、親のエンティティが実際には存在していないとしても親に指定することができる。
インデックス
クエリの実行
GQL (Google Query Language) というので Datastore にクエリを実行できる。
インデックス
組み込みインデックス
いわゆる単体のインデックス
複合インデックス
index.yaml に定義する