Движок приложений Google:Введение в их API хранилища данных для людей с опытом работы в SQL?
-
09-09-2019 - |
Вопрос
Есть ли у кого-нибудь какая-либо полезная информация, помимо документов Google App Engine, предоставленных Google, которая дает хороший обзор для людей с опытом работы в MS SQL для переноса своих знаний и эффективного использования API хранилища данных Google App Engine.
Например, если у вас есть самостоятельно созданная таблица пользователей и таблица сообщений
Там, где существует связь между пользователями и сообщением (связанная идентификатором пользователя), как эта структура будет представлена в Google App Engine?
SELECT * FROM Users INNER JOIN Message ON Users.ID = Message.UserID
Решение
Вот хорошая ссылка:Присоединяйтесь "Один ко многим" с помощью Google App Engine.
http://blog.arbingersys.com/2008/04/google-app-engine-one-to-many-join.html
Вот еще одна хорошая ссылка:Многие ко многим Присоединяются с помощью Google App Engine:
http://blog.arbingersys.com/2008/04/google-app-engine-many-to-many-join.html
Вот хорошая дискуссия относительно двух приведенных выше ссылок:
Лично я нахожу этот комментарий в обсуждении очень информативным о хранилище данных Google App Engine:
http://groups.google.com/group/google-appengine/msg/ee3bd373bd31e2c7
При масштабировании вы в конечном итоге делаете кучу вещей, которые кажутся неправильными, но которые требуются числами, которые мы выполняем .Иди посмотри переговоры на eBay.Или прочитайте сообщения о том, сколько экземпляров базы данных запущено FaceBook.
Простая истина заключается в том, что то, чему мы научились в uni, отлично подходило для приложений автоматизации бизнеса малого и среднего бизнеса, где нагрузка была предсказуемой, и там было достаточно денег, чтобы купить сервер требуется для обработки нагрузки в 50 человек люди, выполняющие ввод данных в учетные записи или бизнес-планирование и приложение для управления....
Поискал еще немного и наткнулся на эту статью в Google Doc:
http://code.google.com/appengine/articles/modeling.html
App Engine позволяет создавать простые в использовании связи между хранилищами данных объекты, которые могут представлять реальные вещи и идеи.Используйте ReferenceProperty, когда вам нужно связать произвольное количество повторяющихся типов информации с одним объектом.Используйте списки ключей, когда вам нужно разрешить множеству различных объектов совместно использовать другие экземпляры друг с другом.Вы обнаружите, что эти два подхода предоставят вам большую часть того, что вам нужно для создания модель, лежащую в основе отличных приложений.
Другие советы
Могу ли я дополнить отличный ответ, приведенный выше, ссылкой на видео:
http://sites.google.com/site/io/building-scalable-web-applications-with-google-app-engine
Это отличное выступление Бретта Слаткина из Google, который в течение часа рассказывает о том, как нужно по-особому продумать свое приложение, прежде чем рассчитывать на его хорошее масштабирование.Существуют некоторые подлинные WTFS (такие как no count() в запросах к БД), которые вызовут у вас трудности, если вы исходите из реляционного фона.
Я думаю, что это основы :Ключи и группы сущностей найдите это в документах appengine.(Я здесь новичок, поэтому не могу разместить ссылку)
Я работал над этим, но не эксперт, хотя Google App engine - очень хорошая вещь, и за ним будущее, поскольку он реализует Платформу как сервис и программное обеспечение как сервис.Google App engine предоставляет нереляционную базу данных.Так что вы действительно можете написать здесь отношения.
С уважением, Гаурав Дж.
Эти ссылки великолепны, но в основном ориентированы на python, я использую GWT и, следовательно, должен использовать java-версию GAE, у кого-нибудь есть какие-либо примеры того, как достичь этих эквивалентностей "join" в java-версии GAE?
Приветствия, Джон
Автономный GAE SDK довольно сложно использовать для ввода данных в хранилище данных Google App Engine и извлечения их из него.
"Objectify" - это расширение GAE, которое значительно упрощает эти операции.Objectify wiki и исходный код можно найти здесь.Я настоятельно рекомендую использовать Objectify в вашем проекте GAE.
http://code.google.com/p/objectify-appengine/
Вот пара руководств по использованию Objectify с app engine.Следуйте этим руководствам, и вы будете хранить и извлекать данные в кратчайшие сроки.
http://www.fishbonecloud.com/2010/11/use-objectify-to-store-data-in-google.html