У меня есть почтовая система, в которой мы отправляем 1-2 миллиона писем каждый день, а затем сохраняем все клики / открытия этих писем.
В настоящее время это отлично работает в MySQL.
Но теперь, с увеличением трафика, мы столкнулись с проблемой производительности Mysql.
Так что думаем перейти на Elastic/Cassandra/Mongo.
Мои возможные запросы включают: а) Получение пользователя, который открыл/щелкнул определенное письмо или нет. б) Расчет открываемости/кликабельности почты
Я думаю, что cassandra может не подойти здесь идеально, поскольку она хорошо подходит для приложений с большим количеством одновременных операций записи, но с меньшим количеством запросов на чтение.
Здесь может быть много типов запросов на чтение поэтому будет сложно определиться с ключом партиционирования/кластеризацией, так что на кассандре будут работать слишком мзные агрегации.
Что мы должны использовать в этом случае и почему?
В любом случае мы работаем как с эластичным, так и с монго, чтобы разработать модель данных для обоих, а затем запустить некоторые тесты вокруг нее.