On Thu, Feb 17, 2005 at 10:57:28AM +0100, Sergey Spiridonov wrote:
> В DBMail письмо не храниться одним большим блобом. Они режут тело письма 
> на куски по сколько-то килобайт. 

http://www.dbmail.org/dokuwiki/media/dbmail-er-model.png

Разделять письмо на какие-то бессмысленные килобайты на мой взгляд
решено разума.  СУБД вроде как должна абстрагировать от каких-то там
блоков, дисков, байтов и др. низкоуровневой фигни. 

Хранение письма MIME-частями было бы гораздо понятнее (заголовки, тело,
аттачменты). Любопытно, авторы сделали IMAP-флаги (seen, answered,
recent,...) явными полями, а сабжекты сообщений зачем-то находу
выдёргивают.

> Динамический словарь с часто используемыми хедерами у них в TODO. Но
> даже с уже перечисленными недостатками хранение почты в базе данных
> даёт преимущества.

Было бы интересно что ты видишь там преимуществами.  
Подавляющее большинство практических задач получения сообщений по
критерию решают команды [UID] SEARCH, FETCH протокола IMAP.  Как
выбирать нужные письма из DBmail я вообще не понимаю.  Руками писать
SQL, в котором конкатенировать их килобайты письма и глазами парсить?
Я читать даже QP не умею, не говоря уже о BASE64.

> Недостатки mbox известны и очевидны, они породили maildir. Недостатки у 
> maildir тоже есть и тоже довольно очевидны. Например для получения 
> списка заголовков нужно открыть кучу файлов и прочитать их, в sql это 
> один select. 

В SQL это ещё специальный клиент или транслятор imap(pop) <-> sql.
Текущие реализации всяких imap работают и так.

> Самопальные форматы храненения отдыхают тоже по очевидным 
> причинам.

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


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to