МИКС (электронная почта)
MIX — это высокопроизводительная индексированная дисковая система хранения электронной почты, предназначенная для использования с IMAP протоколом . MIX был разработан Марком Криспином , автором протокола IMAP. Поддержка сервера включена в версии UW IMAP с 2006 года. [ 1 ] Panda IMAP и Messaging Architects Netmail. MIX также поддерживается непосредственно Alpine почтовым клиентом .
Дизайн
[ редактировать ]Почтовые ящики MIX — это каталоги, содержащие несколько типов файлов, включая файл метаданных, файл индекса, файл данных динамического состояния, файл кэша потоковой/сортировки и коллекцию файлов, содержащих содержимое сообщений. [ 2 ] Почтовые ящики MIX также могут содержать подчиненные почтовые ящики, которые реализованы как подкаталоги внутри каталога MIX.
Формат MIX был разработан с упором на очень высокую масштабируемость, надежность и производительность при эффективной поддержке современных функций протокола IMAP . [ 2 ] MIX успешно использовался с почтовыми ящиками на 750 000 сообщений.
Формат MIX базового уровня состоит из четырех файлов: файла метаданных, индексного файла, файла состояния и некоторого набора файлов данных сообщений. Файл метаданных содержит данные базового уровня, применимые ко всему почтовому ящику; т.е. срок действия UID, последний присвоенный UID и список ключевых слов. Индексный файл содержит указатели на каждое неудаленное сообщение в файлах данных сообщений, а также флаги, размер и IMAP внутренние данные . Файл состояния содержит флаги и ключевые слова для каждого сообщения.
Все эти файлы могут быть скрытыми файлами в каталоге (при этом имя каталога является именем почтового ящика). Таким образом, каталог с гигабайтами почты в нем может показаться пустым, если его проверить с помощью инструментов, которые не показывают скрытые файлы. Это распространенный источник путаницы для системных администраторов, впервые сталкивающихся с MIX. [ нужна ссылка ]
По задумке, почтовый ящик можно восстановить в работоспособное состояние, если какой-либо из этих файлов потерян или поврежден. Например, можно перестроить индексный файл, прочитав каждый из файлов данных, без каких-либо последствий, кроме возможного «восстановления» удаленного сообщения, место которого еще не было восстановлено.
Другая важная часть конструкции MIX заключается в том, что ни один файл не изменяется, пока не будут изменены данные, специфичные для этого файла; таким образом, изменение флага изменяет файл состояния, но не метаданные или индексные файлы. Это снижает влияние любого системного события, которое повреждает выполняемую запись файла.
Каждый файл также имеет «последовательность изменений», которая увеличивается при каждом изменении файла. Когда реализация MIX обновляется из файла, если последовательность изменений не изменяется, она сразу закрывает файл, не читая его дальше. Кроме того, каждая запись файла состояния также имеет последовательность изменений, которая позволяет синхронизировать без потерь несколько обновлений флагов/ключевых слов/ключевых слов/флагов сообщений потребителей.
Расширения
[ редактировать ]MIX позволяет использовать расширения для конкретной реализации. Все реализации MIX должны быть взаимозаменяемыми на базовом уровне, но не обязаны реализовывать расширения и должны допускать отсутствие расширений.
Реализации MIX для UW IMAP и Panda IMAP имеют файл кэша сортировки, который содержит данные, используемые операторами IMAP SORT и THREAD. Это позволяет этим операторам загружать большую часть (если не все) необходимых им данных без необходимости анализировать их из данных сообщения.
Реализация MIX от Messaging Architects имеет расширенные метаданные почтового ящика (в настоящее время используемые для хранения отображаемого имени почтового ящика), метаданные сообщения (используемые для различных целей, включая JSON-представление структуры сообщения) и глобальную последовательность изменений (что позволяет быстро проверить обновление почтового ящика без необходимости проверять последовательность изменений в нескольких файлах). Реализация Messaging Architects также имеет «виртуальный почтовый ящик» или возможность заглушки, при которой сообщение в почтовом ящике фактически является указателем на сообщение в другом почтовом ящике.
Сравнение с другими форматами хранения почты
[ редактировать ]MIX можно рассматривать как гибрид maildir (одно сообщение на файл) и mbox (один файл на почтовый ящик). форматов хранения электронной почты [ 3 ]
Против maildir
[ редактировать ]MIX похож на maildir тем, что почтовые ящики MIX представляют собой каталоги, а не отдельные файлы.
Однако, в отличие от maildir, MIX поддерживает индексный файл для быстрого открытия и сканирования почтовых ящиков. Если maildir хранит каждое сообщение в отдельном файле на диске, MIX может объединять сообщения в файлы сообщений в соответствии с настроенным ограничением размера файла сообщения. Сообщения, размер которых превышает лимит, не объединяются. В результате в каталоге MIX будет меньше файлов, чем в соответствующем почтовом ящике maildir, что может быть выгодно в некоторых операционных системах. [ 4 ] MIX поддерживает эффективный поиск и изменение метаданных и информации о состоянии.
MIX также объединяет несколько небольших сообщений в отдельные файлы данных размером до 1 МБ (сообщения большего размера получают файл данных самостоятельно). Это уменьшает количество узлов, необходимых в каталоге, что важно для производительности и масштабируемости. Формат почтового ящика MIX требует более строгой поддержки блокировки со стороны операционной системы, чем maildir, и явно не предназначен для поддержки записи через NFS.
С другой стороны, Maildir был разработан для работы в среде NFS. [ 5 ] Maildir имеет более широкую поддержку клиентов, серверов и инструментов, чем MIX.
По сравнению с mbox
[ редактировать ]MIX значительно оптимизирован по сравнению с распространенным почтовым форматом mbox . MIX имеет двоичный индекс для ускорения сканирования и извлечения сообщений, тогда как mbox требует полного линейного сканирования для извлечения сообщений. Подобно maildir и в отличие от mbox, MIX поддерживает почтовые ящики, содержащие как сообщения, так и подчиненные почтовые ящики. MIX поддерживает одновременное чтение и запись несколькими клиентами в отдельные почтовые ящики, чего невозможно достичь с помощью mbox.
С другой стороны, формат mbox поддерживается гораздо шире, чем MIX. mbox — это распространенный формат файлов почтовых ящиков, который часто используется как наиболее распространенный формат обмена факторами.
См. также
[ редактировать ]Внешние ссылки
[ редактировать ]- Определение формата MIX Вашингтонского университета
- «UW IMAP, Courier, Cyrus и Dovecot в прямом сравнении» (на немецком языке). Магазин Линукс . Проверено 4 апреля 2009 г.
Ссылки
[ редактировать ]- ^ «Анонсируем: набор инструментов UW IMAP 2006 (imap-2006)» . Архивировано из оригинала 29 сентября 2012 г. Проверено 4 апреля 2009 г.
- ^ Перейти обратно: а б «Re: Сравнительный анализ imap, файловых систем» . Архивировано из оригинала 29 сентября 2012 г. Проверено 4 апреля 2009 г.
- ^ «Re: смешанный формат» . Архивировано из оригинала 26 июля 2011 г. Проверено 4 апреля 2009 г.
- ^ «ответные обновления флага закрывают другие альпийские сеансы» . Архивировано из оригинала 20 июля 2011 г. Проверено 4 апреля 2009 г.
- ^ «Использование формата maildir» . Архивировано из оригинала 2 сентября 2000 г. Проверено 22 мая 2009 г.