I have a few questions / suggestions for 2.0 that might need to be implemented to schema before 2.0 is released.
1. Support for compressed message body It would need an accompanying flag 'is_compressed' to specify that the messageblk is compressed. Headers should never be compressed. I would like the possibility to (in 2.1/2.2 or patched 2.0) enable compression in the config file. (zlib) This would save a lot of space, but might be especially bad for imap (search) performance. But I want the option, as I will never run imap anyways. 2. I still think it's a good idea to have messageblks in blobs. Not the headers though. This will allow for smaller indexes and more effective searching when only requesting headers. Combined it'd mean that all blobs (inherently slower) can be compressed. This would mean _A_LOT_ in our upcoming setup, at the cost of cpu time. In our case cpu time is cheap due to the fact that we will use several gateways to do the actual virus scanning, spam filtering, [compression] and such. Space is our main problem, and as I see it this is the best way to cope with this. Note that I want this as an OPTION ONLY, it would not be good for imap/webmail searching performance to compress the message body. But it can easily give us 2:3 or even 1:3 compression ratio even at zlib level 1 compression (relatively cheap). I also know of a few other compression algorithms that could be integrated into the code that are _FAST_. I currently use them for in-memory compressed swap (Gamecube only has 40MB ram, with this I can get 60MB safely and fast without). If you are interested, the wkdm and wk4x4 from linux compressed are the ones I am talking about. Any thoughts? -=Dead2=-
