Java App Engine DatastoreService или PersistenceManager? - PullRequest
4 голосов
/ 22 ноября 2010

Работа над приложением, построенным на GAE в Java.Возникают проблемы с выяснением, хочу ли я использовать DatastoreServices и класс Entity, или создать класс для моих объектов, и с помощью PersistenceManager.

Может кто-нибудь объяснить различия этих двух услуг?

Ответы [ 2 ]

4 голосов
/ 22 ноября 2010

Если у вас нет фиксированной причины для использования любого из них, взгляните на Objectify .Это гораздо лучшая и более удобная библиотека для хранения.

Сервисы Datastore из SDK - это сервисы низкого уровня, которые позволяют напрямую общаться с Bigtable RPC.Вы будете писать код, который преобразуется в форматы данных и API Bigtable, и вызывать методы RPC Bigtable.

Спецификация JDO и ее диспетчер персистентности являются стандартом Java, который занимается созданием классов данных, их хранением и поиском.Это на один уровень абстракции выше, чем сервисы прямого хранилища данных.Google внедрил спецификацию JDO для работы в GAE, поэтому вы можете использовать ее, если хотите.

Objectify - это альтернатива JDO, которая не является корпоративным стандартом Java, но намного проще и интереснее в использовании.Он очень близко следует API-интерфейсу Python, что делает его довольно приятным и лаконичным.

3 голосов
/ 23 ноября 2010

Мой голос за DatastoreService, потому что PersistenceManager (JDO) потребляет больше ресурсов (= больше денег) и медленнее.

http://gaejava.appspot.com/ - здесь вы можете сравнить их. Попробуйте запустить этот тест пару раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...