Мы работаем над проектом, который будет включать статистику некоторых действий (например, кликов) в режиме реального времени. При каждом щелчке мы будем регистрировать такую информацию, как дата, возраст и пол (они поступают из Facebook), местоположение и т. Д.
Мы обсуждаем лучшее место для хранения этой информации и использования ее для статистики в реальном времени. Мы будем отображать совокупную статистику: например, количество кликов, количество кликов, сделанных мужчинами / женщинами, количество кликов, разделенное по возрастным группам (например, 18-24, 24-30 ...).
Поскольку на сайте мы везде используем MongoDB, мой коллега подумал, что мы также должны хранить в нем статистику. Я, однако, предпочел бы для этой задачи базу данных на основе SQL, такую как MySQL (или, может быть, Drizzle), потому что я считаю, что SQL лучше при выполнении таких операций, как агрегирование данных. Хотя есть накладные расходы на синтаксический анализ SQL, я думаю, что MySQL / Drizzle может быть здесь быстрее, чем базы данных без SQL. И вставки тоже не медленные при использовании запросов INSERT DELAYED.
Обратите внимание, что нам не нужно выполнять JOINS или собирать данные из нескольких таблиц / коллекций. Таким образом, нам все равно, отличается ли база данных. Однако мы заботимся о масштабируемости и надежности. Мы создаем что-то, что (надеюсь) станет очень большим, и мы разработали каждую строчку кода с учетом масштабируемости.
Что вы думаете об этом? Есть ли причина предпочесть MongoDB MySQL / Drizzle для этого? Или все равно? Какой бы вы использовали, если бы вы были нами?
Спасибо, Alessandro