The*_*ger 1 windows sql-server
我目前正在计划一种新设计的电子邮件存储和传递系统,该系统主要使用sql server 2012后端构建。
大多数模式都是为电子邮件的实际创建而设置的,但是我仍然不确定一个设计元素
在哪里存储已发送电子邮件的存档?
我应该将它们作为nvarchar(max)存储在sql数据库中吗
或实际上将它们存储为文件系统本身中的文件(例如.htm文件),然后仅具有指向存储在数据库中的文件的链接
与我目前存储照片的方式非常相似。
我主张使用文件系统。
几年前,我建立了一个电子邮件引擎,每天发送一百万条消息(当时这是一笔不小的数目)。尽管通过数据库日志记录等具有可跟踪性具有价值,但是我发现使用文件系统每天的管理明显要容易得多。
我建立了一个半RESTful结构,如下所示:
我的电子邮件表仍然需要引用电子邮件的路径,但是可以很容易地根据[计划的]电子邮件传递日期进行计算。
为了具体解决您的SQL Server建议,我可以说我也尝试完全按照您的建议存储电子邮件。最后,对于我的特定技术堆栈,无论如何,我需要将文件写入磁盘以获取“在线版本”。当您以这种方式编写动态电子邮件时:
亲爱的[约翰·史密斯],
感谢您对[XYZ]的关注。
当您的后端(.NET,Java,Rails等)可以通过简单地提供一个ID来提供文件服务时,处理变量替换就非常容易。
http://myclient.emailserver.com/2013/10/29/the-most-brilliant-subject-line-ever?id=1234
最后但并非最不重要的一点是,您必须权衡将这些电子邮件保留在数据库中的额外费用。SQL Server是一款漂亮的软件-就我个人而言,我认为这是Microsoft有史以来最好的软件-但这些电子邮件只是存档材料,它们只会增加系统的容量。我不知道您要构建的系统的规模,但是即使有上亿封电子邮件(这并不难产生),您所谈论的范围也很大。
希望这可以帮助。
干杯!
| 归档时间: |
|
| 查看次数: |
2557 次 |
| 最近记录: |