Что такое управляемый способ хранения электронной почты в течение продолжительных периодов времени? - PullRequest
3 голосов
/ 09 сентября 2008

Если у вас есть сайт, который рассылает электронные письма клиенту, и вы хотите сохранить копию письма, какова эффективная стратегия?

Если вы сохраните его в таблице в своей базе данных (например, создадите таблицу с именем Mail), она очень быстро станет очень большой.

Некоторые стратегии, которые я видел:

  1. Сохранить в файловой системе
  2. Запустите запланированное задание, чтобы очистить старые записи из базы данных, но тогда у вас не будет копии;
  3. Создать отдельную таблицу для каждого периода времени (по одному в год или по одному в месяц)

Какие стратегии вы использовали?

Ответы [ 7 ]

6 голосов
/ 09 сентября 2008

Я не согласен с тем, что gmail является эффективной резервной копией для бизнес-данных.

Зачем доверять вашу бизнес-информацию провайдеру, который не дает никаких гарантий обслуживания, или тому, кого вы не контролируете?

Не имеет смысла для меня.

В зависимости от того, как часто вам нужен доступ к этой информации, я бы сказал, что вы должны использовать файловую систему или архив базы данных. По крайней мере, таким образом, вы можете контролировать свои собственные данные.

4 голосов
/ 09 сентября 2008

Данные, которые вы хотите сохранить, сохраняются в базе данных. Единственное оправданное исключение - большие двоичные данные (изображения, видео). Кого волнует, насколько большим становится стол? Если письма автоматизированы и основаны на шаблонах, вам все равно нужно сохранить переменные части. Размер будет примерно одинаковым, где бы вы ни сохраняли его, но, вероятно, у вас уже есть механизм резервного копирования базы данных, поэтому вам не придется изобретать его для обработки миллионов файлов.

3 голосов
/ 09 сентября 2008

Много предположений: 1. Вы используете Windows / хотели бы архив в Windows 2. Важна возможность поиска по почте.

Поскольку вы отправляете письма своим клиентам, нет никаких причин, по которым вы не можете скрыть свою учетную запись. Предполагая, что у вас есть подходящая учетная запись на вашем собственном сервере, я бы посмотрел, используя MailStore (home) , чтобы вытащить письма из вашей учетной записи и поместить их в собственную сжатую базу данных.

2 голосов
/ 09 сентября 2008

Другой вариант (в зависимости от содержимого электронной почты) - не сохранять электронную почту, а убедиться, что вы можете восстановить электронную почту, заархивировав исходный контент, который использовался при создании электронной почты.

1 голос
/ 09 сентября 2008

Зависит от содержания вашего письма. Если он содержит большие изображения. Я бы полноват для файловой системы. В противном случае, если ваша таблица почтовых таблиц очень быстро становится очень большой, я бы выбрал отдельную таблицу для архивации мертвых клиентов.

0 голосов
/ 09 сентября 2008

Я бы подумал о внедрении каких-то общих функций архивирования. Как вы реализуете это зависит от ваших конкретных потребностей поиска.

Например, если вы хотите просто получать электронные письма, отправленные конкретному клиенту в течение определенного месяца, то их хранение в соответствующей иерархии в файловой системе (при необходимости, архивирование) должно быть простым. Возможно, вы захотите записать список отправленных писем в таблицу базы данных с указателем на соответствующий каталог, но для имен каталогов и файлов может быть достаточно соглашения

Возможно, вам не нужно будет обращаться к очень старым электронным письмам очень редко, поэтому вы можете архивировать их на DVD, например, если проблема с онлайн-хранилищем

Если вы хотите часто осуществлять поиск по фактическому содержанию электронных писем, вам придется поместить содержимое в таблицу БД или использовать индексатор, такой как Люцерн, для проверки файлов, хранящихся на диске

0 голосов
/ 09 сентября 2008

Мы сохраняем письмо в таблицу базы данных. Это действительно не становится таким большим, что быстро. У нас есть таблица с 32 000 электронных писем (они тоже большие, по 50 КБ на электронную почту) и со сжатием файл использует только 16 МБ.

Если вы отправляете лишнюю загрузку электронной почты, знайте, что GMail (бесплатный) в настоящее время допускает только 7 ГБ данных. Я был бы счастлив держать это на диске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...