Осколок или не осколок? GAE / Java / СДО - PullRequest
3 голосов
/ 27 сентября 2011

В настоящее время я портирую некоторую работу с MySQL на Google App Engine / Java.Я использую JDO, а также Java-API более низкого уровня, где это необходимо.

Я прочитал руководство по оптимизации счетчиков шардинга: http://code.google.com/appengine/articles/sharding_counters.html

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

Поэтому я должен по умолчанию расшаривать счетчики (и другие, возможно, объекты операций записи с более высокой частотой), или я должен идти вперед без шардингаи реализовать по мере необходимости?

Ответы [ 2 ]

4 голосов
/ 27 сентября 2011

Существенное значение «преждевременного» здесь означает «раньше времени».Разработка, чтобы избежать пределов, когда эти пределы хорошо понятны, не является преждевременным.

3 голосов
/ 27 сентября 2011

Даже при эффективном шардинге обслуживание агрегатов может значительно увеличить нагрузку на ваше приложение. Если вам нужно это совокупное значение, и вы не можете позволить себе приблизительное значение; затем использование сегментированного агрегата является не преждевременной оптимизацией; нет следующей лучшей альтернативы. Если вам на самом деле не нужен счетчик, то время, которое потребуется для его реализации, лучше потратить в другом месте.

...