Pregunta

Vamos a decir que tengo una base de datos de reserva que consiste en usuarios

user_id
fname
lname

y su entradas

ticket_id
user_id
flight_no

y asociados vuelos

flight_no
airline
departure_time
arrival_time

¿Qué necesitaría cambiar para mover este Google App Engine?

entiendo AppEngine no permite que se une .

¿Eso significa que mi mesa se convierta en uno grande schmudge de todos los campos agrupados?

reservas

user_id
fname
lname
ticket_id
flight_no
airline
departure_time
arrival_time

En otras palabras, todas mis consultas ahora se ejecutan en la misma tabla?

¿Fue útil?

Solución

Lo que cambia lo que necesita depende principalmente de qué consultas que necesita para funcionar, y no en los datos que tienes. Lo más probable es que sólo tendrá que añadir un par de cosas.

Haga una lista de preguntas y luego echar un vistazo a restricciones en consultas . Después de que haya encontrado las problemáticas, intente volver a escribir con las limitaciones de BigTable en mente.

Por ejemplo, si usted a menudo necesita encontrar el número de entradas para un listado de vuelos, usted no sólo ser capaz de hacer:

SELECT
    flight_no, COUNT(*)
FROM
    flights
JOIN
    tickets ON tickets.flight_no = flights.flight_no
GROUP BY
    flight_no

Por lo que tendrá que añadir un contador de entradas para flights y el incremento / decremento que al crear / borrar entradas.

Buena parte de esto es que BigTable obliga a tener un diseño de base de datos muy escalable. Lo malo es que se desperdicia una gran cantidad de su tiempo en que no se sabe muy necesidad un diseño escalable.

Otros consejos

Puede utilizar genuinos SQL bases de datos relacionales de aplicaciones de App Engine de Google, a través de un servicio web.

Uno de tales servicio web es Rdbhost, en http://www.rdbhost.com .

Se trata de sus compromisos, en particular la velocidad, en la que cada vista de página requiere otra solicitud de la página http al servidor backend db, pero le permite utilizar los conocimientos de diseño de SQL que ya tiene.

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