Google App Engine: хранилище данных - это не традиционная база данных отношений. Что под этим подразумевается?

Из руководства по началу работы с GAE

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

Что они подразумевают под «нетрадиционной реляционной базой данных» и какие последствия это имеет, кроме требования GQL вместо SQL.


person hhafez    schedule 11.07.2009    source источник


Ответы (2)


Он очень функционально ограничен по сравнению с реляционной БД: нет соединений, нет реальных проверок целостности данных (таких как уникальность и c), нет GROUP BY и функций агрегации, таких как SUM и т. Д., Транзакции только внутри одной группы сущностей и т. Д. И т. Д. - - МНОГО отличий.

Вы должны не только делать намного больше на уровне приложения (вместо того, чтобы делать это в базе данных), но и для повышения производительности и масштабируемости вы должны соответствующим образом денормализовать свои данные (некоторые делают это и в реляционных БД, что является спорным, но часто неохотно принимается, но в GAE обязательно). Многие отличные эссе и видео в сети глубоко посвящены вопросам «какие последствия это имеет» - например, если вы достаточно знакомы с Java, это видео поможет и т. Д. И т. Д.

person Alex Martelli    schedule 11.07.2009
comment
Я разработчик Java, поэтому мне лучше знать Java LOL. Я посмотрю видео +1 - person hhafez; 11.07.2009

Примерно 1/10 кодовой базы для одного и того же проекта, но может быть больше времени на разработку, так как вы работаете с новым, тестовым и предварительным программным обеспечением. Вам не понадобится сценарий сборки базы данных, вы не будете смешивать кучу или несистематические sql, php, java, xml (где 0 означает ложь на одном языке, а не на другом), и другие важные последствия заключались в том, что у нас его не будет боссы утверждают, что реляционная база данных - это решение всех и любых проблем, разные сущности одного и того же типа могут иметь разное количество свойств, наиболее подходящим шаблоном проектирования является «сущность», которая также может использоваться с rdbms,

person Niklas R.    schedule 12.07.2009