Google App Engine (高レプリケーション データストア) を試しています。1 つのエンティティ グループに頻繁に書き込むと競合が発生する可能性があることを理解しています。そのようなことが起こらないようにするために、私のエンティティはすべてルート エンティティです。つまり、各エンティティは個別のエンティティ グループです。
取引を開始します
エンティティを取得する
すでに存在する場合は、トランザクションをロールバックします
そうでなければエンティティを置き、トランザクションをコミットします
だから私は、関連のないエンティティ (つまり、同じエンティティ グループに属していないエンティティ) に対して、アプリ エンジンが主張する高スループットの強みを活用していると考えました。
ただし、時々、「これらのエンティティに対する競合が多すぎます」という恐ろしい例外が発生します。同じグループに属さないエンティティで競合が発生するのはなぜですか?
1 つのエンティティ グループに対して、1 秒あたり 1 ~ 10 回の書き込みしか期待できないと言われています。
しかし、アプリエンジンが個別のエンティティグループへの書き込みを処理することを期待できる数値は見ていません。競合は、私が非常に低い要求であると考えるものに対して発生しているようです (1 秒あたり約 100 書き込み)。
何か不足していますか?個別のエンティティ グループを持つだけでなく、高いスループットを得るために準拠する他のルールはありますか?
それとも、1 秒あたり少なくとも数百回の書き込みという私の期待は、単純に高すぎるのでしょうか?