Soweit ich von App Engine Tutorial verstehen, existieren Entitätsgruppen nur zum Zweck der Transaktionen:Google App Engine Entitätsgruppen
„Nur Gruppen Nutzung Einheit, wenn sie für Transaktionen benötigt werden“ (aus dem Tutorial)
Die Definition des Seins in der gleichen Entitätsgruppe hat die gleiche Wurzel. In diesem Fall, was ist die Verwendung von mehr als 1 Hierarchieebene? Das heißt, warum sollte ich "A -> B -> C" verwenden (A ist die Wurzel, B sein Sohn, C sein Enkel) statt "A -> B; A -> C"? (A, B und C befinden sich immer noch in derselben Entitätsgruppe, da A ihre Wurzel ist).
Wenn der einzige Zweck von Entitäten Gruppen in Transaktionen zwischen Entitäten möglich machen, warum sollte ich mehr als 1 Hierarchieebene verwenden (was verdiene ich von Root -> Grandson-Verknüpfung)?
Ok, endlich habe ich es! Also im Grunde der Satz aus dem Tutorial "Verwenden Sie nur Entity-Gruppen, wenn sie für Transaktionen benötigt werden" ist nicht wirklich richtig, weil es andere Anwendungen hat ... – Joel
Das ist richtig, es ist ein bisschen irreführend. Ich denke, der Punkt ist, wirklich zu denken, bevor Sie Entitätsgruppen verwenden, denken Sie nicht nur, dass es eine nette logische Möglichkeit ist, Daten zu gruppieren. Es gibt einige nicht-transaktionale Vorteile, z. B. Leistung. Brett Slatkin schlug etwas vor, das er "Relation Index Entities" nannte, indem er Entity Groups verwendete: http://code.google.com/events/io/2009/sessions/BuildingScalableComplexApps.html –
kleine Klarstellung: Ich denke, wo James sagt " Jede Transaktion in einer Entität in einer Gruppe führt dazu, dass andere Schreibvorgänge in derselben Entitätsgruppe fehlschlagen ", meint er" Any WRITE transaction ... ". Eine READ-Transaktion für eine Entitätsgruppe führt nicht dazu, dass gleichzeitige WRITE-Transaktionen fehlschlagen (und die Schreibvorgänge führen nicht dazu, dass gleichzeitige Lesevorgänge fehlschlagen). Bitte korrigieren Sie mich, wenn das falsch ist. –