Google App Engine и база данных "Просмотры" - PullRequest
1 голос
/ 30 января 2011

Я разрабатываю приложение для GAE, которое имеет довольно сложную модель данных.

Насколько я понимаю, хорошим способом обработки сложной модели данных с использованием базы данных noSQL, особенно GAE, является использование ненормализованных «представлений» данных.Если браузер-клиент хочет обновить некоторые данные, сервер выполняет запись в некоторые основные данные, возвращает «200 OK», чтобы клиент мог продолжить, а затем использует очередь задач для обновления любых «представлений», которые могли повлиять на записанные данные.,

Затем, когда клиент хочет запросить некоторые объекты, которые обычно требуют SQL-соединения, он может вместо этого запросить «представление», где все необходимые ему данные находятся прямо в той же «строке» (илисущность, в случае с движком приложения).

Проблема, с которой я сталкиваюсь, заключается в том, что все это создание и обновление представлений, по-видимому, должно выполняться библиотекой, а не вручную.Существует ли инструмент, который работает с GAE, где вы можете указать некоторые представления ваших данных, а затем ожидать, что они будут созданы и обработаны соответствующим образом?Я считаю, что CouchDB делает это ...

1 Ответ

2 голосов
/ 31 января 2011

Представления чаще всего являются функцией СУБД, чем нерелевантной.То, что вы описываете, звучит как материализованные представления, и хотя они являются допустимым решением, они не являются распространенным, и, следовательно, нет никаких библиотек для App Engine (о которых я знаю), которые делаютthis.

Более распространенным является простое хранение денормализованных данных таким образом, который облегчает эффективное чтение, и обновление данных непосредственно во время записи.

...