存储数十亿封电子邮件的数据库架构

时间:2013-02-27 10:34:23

标签: mysql mongodb database-design database-schema

我正在尝试开发一个应用程序,用户可以将电子邮件导入并搜索导入的电子邮件。由于这可能被许多用户使用(容易10k +),因此数据库设计至关重要。有了这些用户数,数据库可能需要能够容纳超过十亿行(电子邮件)。

应用程序需要能够在应用程序上发布搜索查询后快速返回记录。数据库将被大量搜索,我想在创建数据库表以创建有效的数据库模式方面提供一些帮助。我自己有很多MySQL的经验,但我读过某个地方,我不应该那样去看看MongoDB或者什么?差异是如此之大还是有任何方法我仍然可以使用MySQL?

  • 受试者
  • 日期(范围)
  • 附件(仅限姓名和类型)
  • 消息内容
  • (可选)邮箱/文件夹结构

这些是可搜索的字段,当然所有电子邮件都会为唯一ID和user_id添加两个“列”。我找到了几个电子邮件的数据库模式,但我找不到任何可以使用超过十亿行的模式的文档。

1 个答案:

答案 0 :(得分:1)

你最好从你提出的表定义开始简单并从那里开始 - 如果该网站确实接近十亿条记录,那么如果需要你可以将它移动到亚马逊服务器或其他云主机(应该)允许该表对分手来说。

MySQL可以处理大量数据,假设您不在具有限制的共享主机上。

所以,从简单开始,不要优化尚不存在的问题,看看它是怎么回事。