В App Engine, что означает оптимизация для чтения? - PullRequest
1 голос
/ 23 апреля 2010

В документации для Google App Engine говорится, что при разработке моделей данных для хранилища данных вы должны «оптимизировать чтение, а не запись». Что именно это означает? Что может быть более «дорогим», загружать процессор или занимать больше времени?

Ответы [ 3 ]

2 голосов
/ 23 апреля 2010

Это означает, что «чтение» дешевле, чем «запись». «Пишет» занимает больше времени и больше ресурсов. Для получения дополнительной информации ознакомьтесь с презентацией « Создание масштабируемых веб-приложений с помощью Google App Engine » Бретта Слаткина из Google I / 0 2008 (слайды 7-8)

0 голосов
/ 23 апреля 2010

согласен с @redtuna (ожидание большего числа чтений, чем запись) и @Ilian Iliev (чтение дешевле, чем запись и запись требуют больше ресурсов)Другой способ оптимизировать чтение - использовать сервис Memcache.поскольку чтение (как правило) происходит чаще, чем запись, кэширование этих данных означает, что вам даже не нужно получать доступ к хранилищу данных.также, элементы, которые остаются активными (см. выборки / попадания), остаются в кэше дольше, поскольку в нем используется стратегия LRU.

0 голосов
/ 23 апреля 2010

«Оптимизировать для чтения, а не для записи» означает, что вы должны ожидать увидеть гораздо больше операций чтения, чем записи, и поэтому вам следует стремиться к , чтобы максимально облегчить чтение ваших данных , даже если это может немного замедлить запись. Легко для компьютера, то есть, например, если вы хотите, чтобы имена отображались строчными буквами, вы должны их записывать строчными буквами, когда они записываются в базу данных, а не строчными, когда вы читаете их из базы данных. Это всего лишь пример, но, надеюсь, это прояснит ситуацию.

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