2010-05-13 4 views
0

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

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

ответ

0

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^