Pregunta

He prototipo de una aplicación de iPhone que los usos (internamente) SQLite como su base de datos. La intención era que en última instancia se comunican con un servidor a través de PHP, que utilizaría MySQL como base de datos back-end.

acabo de descubrir Google App Engine, sin embargo, pero sabe muy poco sobre ella. Creo que sería bueno utilizar la interfaz de Python escribir en el almacén de datos - pero sé muy poco acerca de la capacidad del GQL. básicamente lo que he escrito todo el código base de datos MySQL de trabajo utilizando, probando internamente en el iPhone con SQLite. Voluntad GQL ofrecen la misma funcionalidad que SQL lata? He leído en el sitio que no admite consultas de unión. También es verdad relacional?

Básicamente Creo que mi pregunta es ¿puede una aplicación que normalmente utiliza el trabajo de back-end SQL igual de bien con App Engine de Google, con GQL?

Espero que eso está claro ... cualquier orientación es grande.

¿Fue útil?

Solución

Es cierto que Google App Engine es un producto muy fresco, pero el almacén de datos es una bestia diferente a una base de datos MySQL regular. Eso no quiere decir que lo que necesita no se puede hacer con el almacén de datos GAE; sin embargo, puede tomar algún reelaboración en su final.

El más prominente diferente que se nota la derecha del comienzo es que GAE utiliza un mapeo objeto-relacional para su esquema de almacenamiento de datos. Esencialmente gráficos de objetos se conservan en la base de datos, manteniendo Hay atributos y relaciones con otros objetos. En muchos casos ORM (asignaciones de objetos relacionales) mapa bastante bien en la parte superior de una base de datos relacional (así es como funciona Hibernate). La asignación no es perfecto sin embargo y usted encontrará que es necesario realizar modificaciones a persistir sus datos. Además, GAE tiene algunas contraints único que qué complicar las cosas un poco. Una contraint que me molesta mucho es no ser capaz de consulta para los caminos de atributos: por ejemplo, "Seleccione ... donde dog.owner.name = 'Bob'". Son estas las normas que obligan a leer y entender cómo funciona almacén de datos GAE antes de saltar.

Creo GAE podría funcionar bien en su situación. Sólo puede tomar algún tiempo para entender la persistencia ORM en general, y almacén de datos GAE en detalles.

Otros consejos

GQL ofrece casi ninguna funcionalidad en absoluto; sólo se usa para consultas SELECT, y sólo existe para hacer la escritura consultas de selección más fácil para los programadores de SQL. Detrás de las escenas, que convierte sus consultas a objetos db.Query.

El almacén de datos de App Engine no es una base de datos relacional en absoluto. Usted puede hacer algunas cosas que la apariencia de relación, pero mi consejo para cualquier persona con una formación en SQL es para evitar GQL a toda costa de evitar la trampa de pensar el almacén de datos es nada en absoluto como un RDBMS, y para olvidar todo lo que sabes sobre la base de datos diseño. En concreto, si está normalizando nada, pronto desearías no haber hecho.

artículo debe ayudarle.

  

Resumen: La computación en nube y el desarrollo de software para dispositivos de mano son dos tecnologías muy calientes que cada vez más se están combinando para crear soluciones híbridas. Con este artículo, aprender a conectar Google App Engine, que ofrece la computación en la nube de Google, con el iPhone, la plataforma móvil de Apple. También verá cómo utilizar la biblioteca de código abierto, TouchEngine, a los datos de aplicaciones de control de forma dinámica en el iPhone mediante la conexión a la App Engine nube y el almacenamiento en caché de los datos para su uso sin conexión.

Es una pregunta bastante genérico:)

Respuesta corta: sí. Esto va a implicar un replanteamiento de su modelo de datos, pero sí, son cambios que puede apoyarlo con la API de GAE almacén de datos.

Al crear modelos de Python (pensar en ellos como tablas), que sin duda puede definir referencias a otros modelos (por lo que ahora tenemos una clave externa). Al seleccionar este modelo, que pondremos en los modelos de referenciación (más o menos como una unión).

Es lo más probable es trabajo, pero no es una gota en el reemplazo para un servidor MySQL.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top