我正在尝试开发一个应用程序,用户可以将其电子邮件导入并搜索其导入的电子邮件。由于这可能会被许多用户(容易10k +)使用,数据库设计至关重要。有了这些用户数量,数据库可能需要能够保存10亿行(电子邮件)。用于存储亿次电子邮件的数据库模式
应用程序需要能够在应用程序上发布搜索查询后快速返回记录。数据库将被严重搜索,我希望在创建数据库表时创建一个高效的数据库模式。我自己有很多关于MySQL的经验,但我已经阅读过某处我不应该那样去寻找MongoDB或者其他东西?差异如此之大,还是有什么办法可以继续使用MySQL?
- 从
- 到
- 受试者
- 日期(范围)
- 附件(名称&类型只)
- 消息内容
- (可选)邮箱/文件夹结构
这些是可搜索的字段,当然所有的电子邮件都会有唯一的id和user_id的额外两个“列”。我发现了几个电子邮件的数据库模式,但是我找不到任何可以使用超过10亿行的模式的任何文档。
那是一千万,还是一百万? ':)'。如果你真的想达到这个水平,可以获得一个外部服务来做到这一点 - 我怀疑必须有一个可以使用API与之交互的电子邮件存储解决方案。这就是说,你需要的是现实的:这可能是不成熟的优化? – halfer 2013-02-27 10:37:42
存储1,000,000,000多封电子邮件。这个想法是在亚马逊云上运行(可扩展)。我的想法是将重要的(可搜索的)字段插入数据库后,将电子邮件存储到S3存储中。 – Floris 2013-02-27 12:57:12
Solr呢? – 2013-02-27 19:49:42