Am 11.12.2009 13:06, schrieb Tomas Kuliavas:

> Are you sure that syntax of your select query is correct?

That is not needed
It shows that you are more flexible using a database

In most cases a well configured database with enough memory
will be much faster because you have query-caches and
buffers which are more effective than any generic os-cache

> how complex select call you will make in order to cover all variations?
> flowed format, quoted-printable, headers and body that might have text in
> n different charsets.

how will you do that in a flat.file?

> SQL is not designed to decode MIME on the fly.

Why should anyone do that?
It's enough if you encode the search-string in every variation

>> The question is anyway: Does an IMAP SEARCH search in several variations
>> of "test"? What if it's base64 encoded?

and here is the benefit of a db-backend
imap himself has nothing to do with it
You can add a plaintext-field for text-only mimeparts,
decode them there and use this column for searching as sample

In this case you never touch the original mail-data AND can search
You can add the column long after receive the mails and build
the index for existing mails and play with many helper-columns/tables
whereever it makes sense for better performance

the point is that imap/mua has nothing to know about this internals

> Headers must be decoded, if charset is specified in search command. You
> are free to read all IMAP stardards if you want as long as you don't
> invent new SQL syntax in order to prove your point.

look above
imap-standards, encodings and sql-syntax are not the point
you can change the backend-structure in many ways to improve
things without thinking about frontend-protocols

and with rdbm-only backend you get much more benefits

BACKUPS:
* dbmail runs on a vmware-esxi
* a 1:1 copy runs on another hardware
* this is configured as replication-slave
* replication runs in a own mysql-instance
* every week replication is stopped and the data copied into the 
default-instance
* before copy the current data we stop both instances and make a 
"last-week"-copy
* so we have a backup-imap to go back until last sunday
* in worst-case we can switch back one week more
* the master is never stopped for this
* there is no work except read the weekly statusmail from cron

SCALEABLE:
* you want 10 mx-records to split the spam-filter-overhead?
* No problem, every mx has the same readonly-tables for valid addresses
* every mx can filter spam independet
* clean messages are going in the same database
* in fact postfix needs readonly you can use slaves to reduce db-load
* you could also do master-master-replication if needed to split write-load
* you can split cpu-load by using more machines with the same db (dbmail-imapd 
often uses more cpu as mysql)

FLEXIBLE:
* you want your own quota-notifies?: write a script in which anguage you want
* you want special guis for some things: no problem, write them
* you want combine the cinfiguration.infos with other services? do that!

The admin-benefit in our case is thwat we use two dbmail-servers this time and 
have a self-written webui for all
our standard-admin-jobs (ftp, www, dns, dhcp, domain-registry) with a clear 
permission-handling, it does not matter
how much dbmail-installations we use in the future: it needs 10 minutes to 
include all of them in the central panel
and give operators the right permissions

Additionally we are able to write scripts for often needed and/or complex 
actions in a few time and can combine the
setup-data from every service and machine because all other services are 
mysql-based (some of thmen by generating
standard-configs based on the databases).

Many overview-pages for non-technicals are based on this things because nobody 
has to write doumentations which
host/client was created and what happens in our company - only the reference 
host/service/client has to be choosed
manually, if we delete a host we can be sure it goes away in all overviews and 
from the billing

If there is a simple way to get a whole service in a database you should choose 
that, maybe you need more memorfy
or faster hardware but you are so much more flexible instead working with 
flat-files and configs


Reindl Harald
the lounge interactive design GmbH
A-1060 Vienna | Hofmühlgasse 17
software-development / cms-solutions

phone:    +43 (1) 595 3999 33
cellular: +43 (676) 40 221 40
icq:      154546673

mailto:[email protected]
http://www.thelounge.net/

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
DBmail mailing list
[email protected]
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail

Reply via email to