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