【问题标题】:ElasticSearch vs MongoDB vs Cassandra for mailer logsElasticSearch vs MongoDB vs Cassandra 用于邮件日志
【发布时间】: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


【解决方案1】:

ELK 堆栈(Elastic Search、LogStash、Kibana)是最好的解决方案。就我使用 ELK 堆栈而言,它的日志处理速度很快。

Cassandra 绝对不是正确的选择。

您可以使用 MongoDB,因为大多数查询都是 GET 查询。

但我有几点说明为什么 Elastic search 在日志处理方面胜过 Mongo。

  1. 全文搜索 :Elastic Search 实现了很多功能,例如自定义将文本拆分为单词、自定义词干提取、分面搜索等。

  2. 模糊搜索:模糊搜索适用于拼写错误。即使有拼写错误,您也可以找到要搜索的内容。

  3. 速度:弹性搜索能够以极快的速度执行复杂的查询。

顾名思义,Elastic 搜索是为搜索目的而设计的。而且在 mongo 中搜索不如 Elastic Search 快。

但维护 Elastic Search 也有其自身的问题。

参考: https://apiumhub.com/tech-blog-barcelona/elastic-search-advantages-books/ https://interviewbubble.com/elasticsearch-pros-and-cons-advantages-and-disadvantages-of-elasticsearch/

谢谢,我想这会有所帮助。

【讨论】:

    【解决方案2】:

    如果我尝试查看您的数据结构和数据访问模式,您会发现每条消息都有一个消息 ID,它的内容,然后还有很多计数器,每次更新时都会更新人打开它,可能是一些信息,例如打开它的人的用户 ID/电子邮件。

    由于这些记录在每次打开电子邮件时都会更新,我相信写入的数量相当高。假设每封邮件平均每天被打开 10 次,那么每天将有 10-200 万次写入和 1-20 万封电子邮件。

    将此与读取进行比较,我不确定您的读取模式,但如果将其用于分析目的,或者在某些仪表板中显示,则可能每天会读取几次。基本上,读取与写入相比显着降低。

    话虽如此,如果您的阅读查询模式是您始终使用消息 ID 进行查询的形式,那么 Cassandra/Hbase 是您拥有的最佳选择。 如果不是这种情况,并且您有不同类型的查询,或者您想要进行大量分析,那么我更喜欢 Mongo DB。

    弹性搜索并不是真正的数据库,它更像是一个查询引擎。并且有很多在 ES 中发生数据丢失的情况。如果您打算将此作为主要数据存储,那么 Elastic Search/ELK 不是一个好的选择。

    你可以看看this video to help come to a conclusion on which DB is best given what scenarios. 或者,摘要是@CodeKarle's website

    【讨论】:

      猜你喜欢
      • 2012-01-31
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 2018-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      相关资源
      最近更新 更多