【发布时间】:2019-11-08 16:39:27
【问题描述】:
我有一个邮件系统,我们每天发送 1-20 万封邮件,然后我们存储这些邮件的所有点击/打开操作。
目前在 MySQL 中运行良好。
但是现在随着流量的增加,我们在使用 Mysql 时遇到了一些性能问题。
所以我们正在考虑转向 Elastic / Cassandra / Mongo。
我可能的查询包括 a)获取已打开/单击特定邮件的用户。 b) 计算邮件的打开率/点击率
我认为 cassandra 可能不适合这里,因为它非常适合具有高并发写入但读取查询较少的应用程序。
这里可能有多种类型的读取查询,因此很难决定分区键/集群,因此 mzny 聚合也将在 cassandra 上运行。
在这种情况下我们应该使用什么以及为什么?
无论如何,我们都在使用 elastic / mongo 为两者设计数据模型,然后围绕它运行一些基准测试。
【问题讨论】:
-
如果数据将变得巨大并且您计划从中获得复杂的分析,那么您可能会使用太多复杂的聚合。在这种情况下,弹性会是更好的选择。
标签: mongodb elasticsearch cassandra system-design