Счетчиком это могли быть просмотры страниц, загрузки, количество голосов и т.д. В основном, не очень 'критические' данные.
Что 'лучший' путь состоит в том, чтобы сохранить их информация? Mysql не является хорошим вариантом. Что делает Вас, парни используют?
Я думаю, что пошел бы с Redis, потому что:
Монгодб с упсартами отлично подходит для этого.
Если вы храните что-то вроде:
{ "url" : "www.example.com", "pageviews" : 0 }
Вы можете атомично увеличивать страницы реально быстро с атомной операцией $ ключать:
db.downloads.update({'url' : 'www.example.com'}, {'$inc' : {pageviews : 1}})
Если вы используете UPSERTS, вам не нужно проверять, существует ли документ перед обновлением его Отказ Например, если вы скажете:
db.downloads.update({'url' : 'www.example.com'}, {'$inc' : {pageviews : 1}}, {"upsert" : true})
Документ с URL www.example.com будет создан, если оно не существует (с помощью страниц, установленных на 1) или, если оно существует, PageViews будет увеличиваться. Это означает, что вам не нужно беспокоиться о предварительно заполнении коллекции.
Знаменитые счетчики просмотра 1990-х годов использовали простые файлы для хранения номера. Если все, что вам нужно, это просто чтобы сохранить один номер, все достаточно хорошо.