2010-03-24 7 views
8

Ich denke daran, eine (anfänglich) kleine Webanwendung zu erstellen, die eventuell ein Wachstumspotential haben könnte. Alles in allem scheint Google App Engine eine sehr attraktive Option zu sein. Nehmen wir an, Benutzerbasis und Komplexität wachsen und aus dem einen oder anderen Grund musste ich GAE hinter sich lassen. Wie schwierig wäre es, wegzuwandern?Wie schwierig ist die Migration von Google App Engine?

1) Bietet GAE eine Möglichkeit, die Datenbank zu exportieren? Welches Format wäre es? Wäre es schwierig, es unter MySQL (oder ähnlich) zu setzen?

2) In welchen Bereichen (zB Datenbankzugriff, andere?) Müsste ich GAE API verwenden? I.e. Welche Teile der Implementierung müssten abstrahiert/vernetzt werden?

Edit: 3) Alternativ ist es sogar wert, weg GAE API abstrahieren?

+0

Für den Rekord, ich denke nicht, dass es zu schwer ist, Ihren eigenen DB-Exporteur zu schreiben ... –

+0

Es gibt so viele Entscheidungspunkte hier, die Sie spezifischer sein müssen. Auf welche Art von Google App Engine beziehen Sie sich - python oder java? Wenn Java, Welche Datenbank-API verwenden Sie - JDO - JPA - BigTables native? – Stevko

Antwort

4

Für Frage 1: Ich weiß nicht, ob GAE Exporte einer Datenbank unterstützt, aber Sie können immer Ihr eigenes schlimmstes Szenario rollen. Wenn Sie in einer Position sind, wo Sie benötigen, haben Sie wahrscheinlich auch die Ressourcen, dies zu tun.

Für Frage # 2: Sie können und sollten immer diese Arten von externen Abhängigkeiten sowieso kapseln. Es spielt keine Rolle, ob sie Schnittstellen bereitstellen oder nicht. Die Kopplung mit diesen Schnittstellen sollte auf ein absolutes Minimum beschränkt werden.

Für Frage # 3: Diese Frage ist nicht wirklich super-klar, so kann ich es nicht beantworten.

2

Ich bin streng von einer Java-Webapp Sicht ...

Google App Engine für Python gesprochen hat eine Backup/Restore-Dienstprogramm: http://code.google.com/appengine/articles/gae_backup_and_restore.html

Es gibt ein riesiges Interesse an der Portierung dies zu der Java-Geschmack.

Sie können die übergeordnete Standard-Datenbank-API (JDO/JPS) verwenden, um Ihre App von den Google-Datenbankdiensten zu entfernen. Ich schlage vor, die Data Nucleus Tools zu kaufen, um den Übergang von großen Tabellen zu etwas wie mysql oder oracle zu erleichtern.

Die verpackten Dienstleistungen GAE bietet sind aufgezählt in http://code.google.com/appengine/docs/java/javadoc/

Die Lager JRE sollte die Portierung der urlfetch, Post und memcache api Pakete behandeln. Sie müssen eine Ersatztechnologie für die Benutzer, Blobstore, Xmpp und Aufgabenpakete finden.