在MongoDB和MySQL中存储文本(电子邮件)

时间:2013-07-23 23:43:38

标签: mysql mongodb

我正在使用电子邮件服务API(可以使用JSON或PHP)发送电子邮件,我想将回复存储到MySQL或Mongo中。

您认为对于大量电子邮件存储,MySQL或Mongo会更好吗?

1 个答案:

答案 0 :(得分:4)

这取决于你在做什么,以及你想要存储什么样的元数据。

我已经使用过两者,但我最近更喜欢使用MongoDB,因为存储数据的方式(以文档为中心)比关系数据库更有利于我使用的应用程序类型。

如果您要存储的是电子邮件列表以及对该电子邮件的回复,那么MongoDB可能是一个很好的方法,因为您可以创建这样的文档结构:

{
    'sender':'me@me.com,
    'subject':'Hello world!',
    'to':['tom@me.com','dick@me.com','harry@me.com'],
    'body':'Hello, World, and stuff.',
    'replies':[
        {
             'from':'tom@me.com',
             'subject':'re: Hello World!',
             'body':'Please stop sending me SPAM'
             },
        { ... next reply...}
        ]
     }

这使得查询特定消息和响应变得非常好。现在,如果您需要能够按个别用户查询,使用的电子邮件地址等,以及您的主要用例将是来自不同方向的随机查询,那么MySQL可能会更好,因为MongoDB实际上没有支持加入。