[horde] Guidance on SQL vs. NoSQL storage

Michael J Rubinsky mrubinsk at horde.org
Sat Mar 13 15:47:57 UTC 2021

Quoting Ralf Lang <lang at b1-systems.de>:

> Hi
> Am 12.03.21 um 23:17 schrieb Nels Lindquist:
>> Hi, all.
>> We recently added a node to our Horde access server, and I figured I'd
>> take the opportunity to try out MongoDB as a NoSQL storage method for
>> shared data across the cluster.
>> Unfortunately it hugely spiked the load on the server, and I ended up
>> backing out the config and reverting to PostgreSQL for the shared
>> storage.
>> Is there any guidance or recommendations for the kinds of data it
>> might be appropriate to consider using one over the other? eg.
>> ActiveSync caching vs. IMAP caching vs. session data, preferences, etc.?
> Hi Nels,
> it depends on what you already have in your infrastructure and what you
> can administrate well with your resources available or can consume as a
> service offering.
> I use a lazily-persistent redis key/value store as my preferred
> Hashtable (DHT) provider in most installations. It used to be memcache
> but I find redis more easily scaleable in my use cases.
> In turn, I use DHT as my cache. It used to be HashTable as "in memory"
> cache and SQL als fallback cache, but I found this not beneficial.
> I also use DHT via redis for session handler in multi node installations.
> I want to reduce DB writes for data I don't really care about / can
> afford to be lost on crashes. On the other hand, any memory spent on a
> DHT is memory you could also spend on SQL database caches. Any tangible
> benefit comes only with scale.
> Now where does a real NoSQL DB like Mongo shine?
> I find it useful for any larger blobs which do not need to be searched.
> This would be Virtual Filesystem (Vfs) items. Note there are different
> Horde Vfs settings for Horde and the applications. Applications should
> have "use horde defaults" as an option or default.
> The imp (webmail) compose log also makes sense in mongo, but it's not a
> major i/o driver in my cases.
> In the end, all performance driven changes need validation.
> Hope that helps.

In reference to ActiveSync usage, I can tell you that the only reason  
I wrote the Mongo driver is that a client wanted it. At the time it  
was because ActiveSync was the only part of his installation that  
still needed a SQL database. I can also tell you in an unscientific  
manner that I have found the performance to be fairly lacking and I  
wouldn't recommend it unless you have a very specific need for it.

> --
> Ralf Lang
> Linux Consultant / Developer
> Tel.: +49-170-6381563
> Mail: lang at b1-systems.de
> B1 Systems GmbH
> Osterfeldstra├če 7 / 85088 Vohburg / http://www.b1-systems.de
> GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537
> --
> Horde mailing list
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: horde-unsubscribe at lists.horde.org

The Horde Project
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-keys
Size: 9272 bytes
Desc: PGP Public Key
URL: <https://lists.horde.org/archives/horde/attachments/20210313/b699148e/attachment.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 851 bytes
Desc: PGP Digital Signature
URL: <https://lists.horde.org/archives/horde/attachments/20210313/b699148e/attachment.sig>

More information about the horde mailing list