В настоящее время я запускаю веб-сайт на базе MySQL, где пользователи продвигают рекламу и получают доход каждый раз, когда кто-то ее завершает. Мы регистрируем каждый раз, когда кто-то просматривает рекламу («показ»), каждый раз, когда пользователь нажимает на добавление («клик»), и каждый раз, когда кто-то завершает объявление («лиды»).
Поскольку мы получаем очень много трафика, у нас есть миллионы записей в каждой из этих таблиц. Затем мы должны запросить эти таблицы, чтобы позволить пользователям увидеть, сколько они заработали, поэтому мы в конечном итоге выполняем несколько запросов к таблицам с миллионами и миллионами строк несколько раз в одном запросе, сотни раз одновременно.
Мы ищем чтобы перейти от MySQL к хранилищу ключей и значений или чему-то в этом роде. Нам нужно что-то, что позволит нам хранить все эти миллионы строк, запрашивать их в миллисекундах, и ВАЖНО использовать специальные запросы, где мы можем запрашивать любой отдельный столбец, чтобы мы могли делать такие вещи, как:
FROM lead WHERE country = ' US 'AND user_id = 501 (очевидно, эквивалент NoSQL)
FROM clicks WHERE ad_id = 1952 AND user_id = 200 AND country =' GB '
и т. Д.
Есть ли у кого-нибудь хорошие предложения? Я рассматривал MongoDB или CouchDB, но не уверен, могут ли они обрабатывать запросы миллионов записей несколько раз в секунду и требуемый тип специальных запросов.
Спасибо!