[Discuss] Stalwart E-mail; Was: Re: SSH options

Ron ron at bclug.ca
Fri Jan 23 21:57:21 EST 2026


Rich Pieri wrote on 2026-01-22 08:02:

> You dropped the "arbitrary". When everything fits neatly into
> tables or key/value stores then sure, a database might work. Email
> messages are not neat. They are very much like medical records:
> arbitrary in size and structure. Few databases can deal well with
> this kind of data.

Quite a few actually *can* deal with this kind of data; it's been a
fairly mature field for a decade or more already.


You can read about databases designed to work with unstructured data at
your leisure:

https://en.wikipedia.org/wiki/NoSQL


> You can read up on all of Oracle's failures in the EMR space, and 
> the history of WinFS, at your own pace, as examples of this.

So, two companies that are bad at software had failures, so in this
field a database is doomed to failure?  Disagree.


What about Gmail? They use a database (from which RocksDB was forked) 
and it undeniably works:

> Google Infrastructure Supporting Gmail
> 
> Technology	Purpose
> 
> MapReduce	Processes large volumes of data, such as email indexing
> 
> BigTable	Stores structured metadata and user preferences

https://www.dhiwise.com/post/understanding-gmail-architecture-a-
comprehensive-guide








In this case, Stalwart is attempting, with funding from the European 
Commission’s Next Generation Internet programme¹ and GitHub's OSSF (Open 
Source Secure Fund)², to replace reliance on Gmail / Yahoo / Outlook / 
iCloud / etc.





With the goal of competing on a scale of

> to host hundreds of millions of email accounts reliably? How do they
> store petabytes of messages, survive hardware failures without 
> losing data, and keep spam at bay across billions of daily 
> deliveries?

the thought of billions (or millions) of Maildir files per day is laughable.


A *lot* of people use web mail, so searching those millions / billions 
of messages *must* be fast.




I'm not yet sold on converting to Stalwart - it's extremely promising 
and that feels uncommon these days.


But I've encountered some issues that may be its fault, or the reverse 
proxy's fault, or KDE's fault, or my fault,... Undiagnosed.


And the schema for their data is all serialized key/value storage, even 
in PostgreSQL. That bothers me a bit and I'll have to evaluate some more.


What these developers have created in a short time is so highly polished 
and feature complete that I have nothing but respect for their abilities 
and reasonable confidence in their skills & choices.

We'll see.




Their discussion / recommendations on data storage are here:

https://stalw.art/docs/install/store/


¹ https://stalw.art:8443/blog/github-ossf#about-githubs-ossf

² https://stalw.art/blog/nlnet-grant-collaboration/



More information about the Discuss mailing list