1

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

在应用程序上发布搜索查询后,应用程序需要能够快速返回记录。该数据库将被大量搜索,我希望在创建数据库表以创建有效的数据库模式方面得到一些帮助。我自己对 MySQL 有很多经验,但我在某个地方读过我不应该那样去寻找 MongoDB 之类的东西?差异如此之大还是我仍然可以使用MySQL?

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

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

4

1 回答 1

1

您最好从建议的表定义开始并从那里开始 - 如果该站点确实获得了近十亿条记录,那么如果需要,您可以将其移动到亚马逊服务器或另一个(应该)允许表分区的云主机.

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

所以,从简单开始,不要优化一个尚不存在的问题,看看它是如何进行的。

于 2013-02-27T12:57:09.850 回答