Для движка приложения вам понадобится легкая структура, как для персистентности, так и для приложений. Google меняет свою модель ценообразования, поэтому вы можете подумать, как это повлияет и на ваши планы. Существует интересная дискуссия в группе движка приложения по этому поводу: https://groups.google.com/forum/#!topic/google-appengine/ob-kMuDAAqc/discussion
Кроме этого, я могу только прокомментировать выбор персистентных рамок :
JDO в движке приложения - это боль. Версия, которую они (Google) поддерживают в движке приложений, - 1.x, я думаю, она древняя. У меня было больше проблем с тем, чтобы заставить вещи работать, чем я хочу вспомнить. Если у вас есть предыдущий опыт работы с JDO, это все же может быть хорошим выбором. Если бы я начал все сначала, я бы выбрал постоянную среду, специально написанную для движка приложения, например objectify или веточка . Они требуют меньше накладных расходов и более просты в использовании (с моей точки зрения). Один гигант плюс objectify: дает вам поддержку memcache из коробки без дополнительной работы. Насколько это здорово?
Однако вы также хотите поддерживать СУБД. Если у вас есть время, вы можете свернуть свой собственный уровень абстракции поверх objectify и слоя устойчивости RDBMS по вашему выбору. Это даст вам преимущество в производительности, которую вы ищете. ;)
Если это не вариант, я бы предложил JPA (не потому, что я сам использовал его, а потому, что у меня было так много проблем с JDO).
Надеюсь, это поможет!