3

如果您有一个向客户发送电子邮件的站点,并且您想保存邮件的副本,那么有效的策略是什么?

如果您将它保存到数据库中的一个表中(例如,创建一个名为 Mail 的表),它会很快变得非常大。

我见过的一些策略是:

  1. 保存到文件系统
  2. 运行计划任务以清除数据库中的旧条目 - 但你最终没有副本;
  3. 为每个时间范围创建一个单独的表(每年一个,或每个月一个)

你使用了哪些策略?

4

7 回答 7

6

我不同意 gmail 是业务数据的有效备份。

为什么要将您的业务信息委托给不提供服务保证或您无法控制的提供商?

对我来说毫无意义。

根据您需要访问此信息的频率,我会说使用文件系统或数据库存档。至少这样,您可以控制自己的数据。

于 2008-09-09T10:30:53.153 回答
4

您要保存的数据保存在数据库中。唯一合理的例外是大型二进制数据(图像、视频)。谁在乎桌子有多大?如果邮件是自动化的并且是基于模板的,那么无论如何你只需要保存可变部分。无论您在何处保存它,其大小都将大致相同,但您可能已经有一种机制来备份您的数据库,因此您不必发明一个来处理数百万个文件。

于 2008-09-09T10:28:15.250 回答
3

很多假设: 1. 您正在运行 windows / 想要在 windows 中存档 2. 在邮件中搜索的能力很重要。

由于您正在向您的客户发送邮件,因此您没有任何理由不能密送您自己的邮件帐户。假设您在自己的服务器上有一个合适的帐户,那么我会考虑使用MailStore (home)从您的帐户中提取邮件并将它们放入它自己的压缩数据库中。

于 2008-09-09T10:28:50.020 回答
2

另一种选择(取决于电子邮件内容)是不保存电子邮件,但确保您可以通过归档生成电子邮件的原始内容来重新创建电子邮件。

于 2008-09-09T10:33:37.123 回答
1

这取决于您的电子邮件的内容。如果它包含大图像。我会喜欢文件系统。否则,如果您的 Mail 表很快变得非常大,我会选择单独的表,归档死客户。

于 2008-09-09T10:29:14.200 回答
0

我们将电子邮件保存到数据库表中。它真的没有那么快变得那么大。我们有一个包含 32,000 封电子邮件的表格(它们也是大型电子邮件,每封电子邮件 50kb),经过压缩,文件仅使用 16MB。

如果您要发送大量电子邮件,那么请知道 GMail(免费)目前只允许 7GB 的数据。我很乐意将它保存在磁盘上。

于 2008-09-09T10:34:14.313 回答
0

我会考虑实施某种通用归档功能。您如何实现这取决于您的特定检索需求。

例如,如果您只想检索某个月份发送给特定客户的电子邮件,那么将它们存储在文件系统上的适当层次中(必要时将它们压缩)应该很容易做到。您可能希望在数据库表中记录已发送电子邮件的列表,并带有指向适当目录的指针,但目录和文件的命名约定可能就足够了

您可能不需要非常频繁地访问非常旧的电子邮件,因此您可以将这些电子邮件存档到 DVD,例如,如果在线存储存在问题

如果您想经常搜索电子邮件的实际内容,那么您将不得不将内容放在数据库表中或使用 Lucerne 之类的索引器来检查存储在磁盘上的文件

于 2008-09-09T11:10:56.083 回答