Frage

Da Google App Engine keine Genehmigung verbindet, bedeutet das, dass ich alle Tabellen in meinem Web-App zu nehmen und einen Weg finden, um sie zu einem einzigen großen Tisch zu kombinieren?

War es hilfreich?

Lösung

Nur weil du nicht Joins vom DBMS implementiert haben, bedeutet nicht, dass Sie nicht mehrere Tabellen haben. In App Engine, werden diese Entitätstypen "genannt, und Sie können so viele von ihnen, wie Sie wollen.

Im Allgemeinen müssen Sie Ihre Daten, um denormalize die Notwendigkeit zu vermeiden häufigen beitritt. In den wenigen Fällen, in denen sie unvermeidlich sind, können Sie andere Techniken verwenden, wie die in Benutzercode beitreten zu tun.

Andere Tipps

es zu einem großen Tisch zu kombinieren, ist immer eine Option, aber es ergibt sich unnötig große und redundante Tabellen die meiste Zeit, so wird es die App langsam und schwer zu pflegen machen.

Sie können auch eine Verknüpfung, emulieren durch die Ergebnisse einer Abfrage durch Iteration, und eine zweite Abfrage für jedes Ergebnis für die erste Abfrage gefunden ausgeführt wird. Wenn Sie die SQL-Abfrage haben

SELECT a.x FROM b INNER JOIN a ON a.y=b.y;

Sie können diese emulieren mit so etwas wie folgt aus:

for b in db.GqlQuery("SELECT * FROM b"):
  for a in db.GqlQuery("SELECT * FROM a WHERE y=:1", b.y):
    print a.x

Wenn Sie Weg suchen, ist die Datentabelle zu entwerfen. Ich würde empfehlen, Sie ein wenig Forschung tun, bevor Sie mit der Arbeit beginnen. Es gibt ziemlich magische Eigenschaften für Google App Engine mögen:

  • Selbst merge
  • Mehrwertige Liste Eigenschaft

Das wäre in Ihrem Design sehr hilfreich sein. Ich habe .

über Scale-Fähigkeit zu lernen gibt es ein exklusives kostenlosen Kurs in Udacity hier nur auf dem Thema. Es wird von dem Gründer von reddit.com gelehrt und erklärt er deutlich die ganze Skalierung Dinge in reddit geschehen, einer der Standorte mit der höchsten Besucherzahl. Er zeigt die gesamte Verlauf Demo-Implementierung in gae (und das war ein Jackpot für mich!). Sie bieten den gesamten Verlauf Videos kostenlos hier zum Download bereit. Ich habe hart mit App Engine wurde schuften, bevor ich diese Ressourcen bekam. Also dachte ich, diese teilen könnten andere helfen, den Fuß in den Gewässern verstärken.

Der Wechsel von einer relationalen Datenbank in dem App Engine-Datenspeicher erfordert einen Paradigmenwechsel für Entwickler, wenn ihre Daten zu modellieren. Werfen Sie einen Blick hier eine bessere Vorstellung zu bekommen. Dies erfordert, dass Sie mehr vorne, um darüber nachzudenken, wie Sie Ihr Problem in den Zwängen der Datenspeicher erlegt zu passen, aber wenn Sie können, dann sind Sie garantiert, dass es schnell und Umfang ausgeführt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top