Какое почтовое хранилище я должен выбрать для нашего веб-приложения; IMAP, хранилище ключей, rdbms, - PullRequest
0 голосов
/ 13 мая 2010

Я должен хранить сообщения электронной почты для использования с нашим приложением. У меня есть «метаданные» для всех сообщений в реляционной базе данных, но мне неудобно хранить содержимое сообщения (гигабайты и терабайты данных электронной почты) в базе данных. В настоящее время я использую IMAP в качестве хранилища, но у меня есть сомнения, если я выберу правильно. Прежде всего, существует проблема недействительности и того, как сохранить постоянную ссылку на сообщение внутри IMAP. Во-вторых, я не уверен, является ли это наиболее надежным решением с точки зрения стратегий резервного копирования / восстановления, повреждения хранилища, репликации ... Положительным моментом является то, что я могу запрашивать IMAP с использованием заголовков, поскольку данные в основном индексируются. *

Я не знаю, лучше ли подходят хранилища ключей (Casandra, Tokyo cabinet, redis). Как они обрабатывают хранение 1КБ и 50МБ данных. Как они предотвращают повреждение и когда происходит повреждение или отказ устройства, как я могу восстановить магазин.

1 Ответ

0 голосов
/ 13 мая 2010

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

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

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

...