1. データストア
    1. エンティティに対するクエリを格納、実行
    2. エンティティ
      1. データオブジェクト
      2. 1つ以上のプロパティが含まれる
    3. 一回のトランザクションで複数のオペレーションが可能
      1. 失敗すればロールバック
    4. 分散型アーキテクチャ
    5. 強い一貫性を持つ
    6. リレーショナルデータベースではない
  2. Pythonでのデータモデリング
    1. データストアエンティティ
      1. スキーマがない
        1. 同じプロパティを持ったり、同じプロパティに同じ値タイプを持つ必要がない
      2. データストア内のデータオブジェクト
      3. 一つ以上のプロパティを持つ
      4. 各自を一意に識別するキーも含む
    2. エンティティのフェッチ
      1. エンティティのキーを使用する
      2. プロパティに対するクエリを実行する
        1. クエリは0以上のエンティティを返す
    3. クエリとインデックス
      1. クエリは指定された種類のすべてのエンティティで動作
      2. プロパティとキーに対してフィルタとインデックスを利用できる
      3. すべてのクエリはインデックスを使用する
      4. 設定ファイルでインデックスを指定する
        1. 開発用Webサーバーでは、設定されていない場合、自動的に設定する
        2. アップロード前に手動で調整できる
    4. トランザクション
      1. エンティティのすべての操作はトランザクションで実行される
      2. トランザクションAPI
        1. 1つのトランザクションで複数のアクションを実行
        2. 1つのトランザクションで複数のエンティティを操作
        3. 1つのトランザクションから操作するエンティティは同じエンティティグループに属する必要がある
    5. エンティティグループ
      1. エンティティ間の関係を階層構造で定義
      2. グループにエンティティを作成
        1. エンティティの子として定義(もう一方は親となる)
        2. 親を持たずに作成するとルートとなる
        3. 子のないエンティティはグループで唯一のエンティティとなる
      3. 各エンティティには、ルートからのパスが存在する
    6. プロパティ
      1. 名前のついた値
        1. 整数
        2. 浮動小数点数
        3. 文字列
        4. 日付
        5. バイナリデータ