2010-03-24 12 views
8

Estoy pensando en hacer una aplicación web (inicialmente) pequeña, que eventualmente tendría un potencial para crecer. Todo lo que se considera Google App Engine parece una opción muy atractiva. Digamos que la base de usuarios y la complejidad crecen y por una u otra razón necesitaba dejar atrás a GAE. ¿Qué tan difícil sería emigrar?¿Qué tan difícil es migrar lejos de Google App Engine?

1) ¿GAE proporciona una forma de exportar la base de datos? ¿Qué formato sería? ¿Sería difícil ponerlo bajo MySQL (o similar)?

2) ¿En qué áreas (por ejemplo, acceso a la base de datos, otras?) Tendría que usar GAE API? Es decir. ¿Qué partes de la implementación tendrían que ser abstraídas/interconectadas?

Editar: 3) Alternativamente, ¿vale la pena abstraer la GAE API?

+0

Para el registro, no creo que sea demasiado difícil escribir su propio exportador de BD ... –

+0

Hay tantos puntos de decisión aquí que debe ser más específico. ¿A qué sabor de Google App Engine se refiere: python o java? Si java, ¿qué API de base de datos está utilizando - JDO - JPA - BigTables nativo? – Stevko

Respuesta

4

Para la pregunta n. ° 1: No sé si GAE respalda específicamente las exportaciones de una base de datos, pero siempre puede realizar su propia situación, en el peor de los casos. Si se encuentra en una posición en la que lo necesita, probablemente también tenga los recursos para hacerlo.

Para la pregunta n. ° 2: siempre puede y debe encapsular ese tipo de dependencias externas. No importa si proporcionan interfaces o no. El acoplamiento a esas interfaces debe mantenerse en un mínimo absoluto.

Para la pregunta n. ° 3: Esta pregunta no es muy clara, así que no puedo responderla.

2

estoy hablando estrictamente desde un punto de vista java aplicación web ...

Google App Engine para Python tiene una copia de seguridad/restaurar la utilidad: http://code.google.com/appengine/articles/gae_backup_and_restore.html

hay un enorme interés en portar esto el sabor java.

Puede usar las apis de base de datos estándar de nivel superior (JDO/JPS) para permitirle mover su aplicación fuera de los servicios de la base de datos de Google. Sugiero comprar las herramientas del núcleo de datos para facilitar la transición de las tablas grandes a algo como mysql u oráculo.

Los servicios empaquetados GAE proporciona se enumeran en http://code.google.com/appengine/docs/java/javadoc/

La acción JRE debe manejar la portabilidad de la urlfetch, correo y paquetes de la API de Memcache. Tendrá que buscar una tecnología alternativa para los paquetes de usuarios, blobstore, xmpp y taskqueue.