Подтвердить что ты не робот

Без подключения к Google App Engine ваши данные должны существовать в одной большой таблице?

Поскольку Google App Engine не разрешает подключения, значит ли это, что я должен взять все таблицы в своем веб-приложении и выяснить способ объединения их в одну огромную таблицу?

4b9b3361

Ответ 1

Просто потому, что у вас нет объединений, реализованных СУБД, это не означает, что вы не можете иметь несколько таблиц. В App Engine они называются "типами сущностей", и вы можете иметь столько их, сколько хотите.

Как правило, вам необходимо денормализовать свои данные, чтобы избежать необходимости частых объединений. В тех немногих ситуациях, когда они неизбежны, вы можете использовать другие методы, например, делать соединение в коде пользователя.

Ответ 2

Объединение его в одну большую таблицу всегда является опцией, но в большинстве случаев это приводит к излишним большим и избыточным таблицам, поэтому приложение будет работать медленно и с трудом.

Вы также можете эмулировать объединение, повторяя результаты запроса и запуская второй запрос для каждого результата, найденного для первого запроса. Если у вас есть запрос SQL

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

вы можете подражать этому примерно так:

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

Ответ 3

Если вы ищете способ создания данных. Я бы порекомендовал вам немного исследований, прежде чем начинать работу. Для Google App Engine есть довольно волшебные свойства:

  • Самослияние
  • Многозначное свойство списка

Это будет очень полезно в вашем дизайне. Я поделился моим опытом здесь.

Чтобы узнать о возможности масштабирования, существует эксклюзивный свободный курс в Udacity здесь только по теме. Он учил основателя reddit.com, и он ясно объясняет все масштабы событий, происходящих в reddit, одном из сайтов с наибольшим количеством посетителей. Он показывает всю реализацию демонстрации курса в gae (и это был джек-пот для меня!). Они предлагают все видео курса бесплатно скачать здесь. Я уже много работал с приложением, пока не получил эти ресурсы. Поэтому я думал, что это может помочь другим, кто ступает ногой в воды.

Ответ 4

Переход от реляционной базы данных к хранилищу данных App Engine требует изменения парадигмы для разработчиков при моделировании их данных. Посмотрите здесь, чтобы получить лучшую идею. Это потребует от вас больше думать о том, как подогнать вашу проблему к ограничениям, которые налагает хранилище данных, но если вы можете тогда, вам гарантировано, что он будет работать быстро и масштабируемо.