Ситуация:
Хостинг ASP.NET + PHP + MSSQL + MySql — Далеко не самый дорогой!
Задача:
Запись в бд лог посещений ... типа ип, браузер, ос, и т д..
Ограничить посещения (один юзер он же комп — не более 50 раз в сутки 200 раз в неделю 1000 раз в месяц мог открыть сайт)(на сайте одна страница)
Проблема:
Но так как юзеров очень много тысяч 50 и все хотят зайти именно с 12,00 дня по 12,30 того же дня и повесить сервер SQL к чертовой бабушке.
Так ка при записи в таблицу таблица лочится как вариант использовать отдельную бд (и возможно на другом сервере).
Но тогда проверка сколько раз юзер был на сайте — будет идти дольше..
Какую БД выбрать? Сервер слабенький. Использовать несколько таблиц в одной бд или юзать разные сервера SQL?
И какой SQL подойдет лучше? Есть мнение что MySql Быстрее ..
Здравствуйте, Max1983, Вы писали:
M> Но так как юзеров очень много тысяч 50 и все хотят зайти именно с 12,00 дня по 12,30 того же дня и повесить сервер SQL к чертовой бабушке.
Использовать очередь. Т.е. не сразу по факту загрузки в коде делать все проверки/записи, а бросать информацию о пользователе в промежуточную очередь (запись в которую происходит мгновенно) и отдельным независимым процессом(ами) выгребать данные из очереди и обрабатывать по мере возможности/поступления.
В качестве очереди можно использовать как таблицу MySQL, так и специализированные решения (gearman, zeromq, rabbitmq и т.д.)
Здравствуйте, Max1983, Вы писали:
M>Но так как юзеров очень много тысяч 50 и все хотят зайти именно с 12,00 дня по 12,30 того же дня и повесить сервер SQL к чертовой бабушке.
Много тысяч это сколько? 100? Т.е. это где-то меньше мегобайта на кешь?
... << RSDN@Home 1.2.0 alpha 5 rev. 69>>