Speicherung ein Objekt pro User

  • Moin,

    ich erinnere mich, dass es bei b1gMail 7.4 den Hinweis gab, die Speichermethode „eine Datei pro Postfach“ (ein Objekt pro Nutzer) nicht auf externem Storage zu betreiben. Gilt das noch?
    Ich möchte das nun erstmals über SSHFS einsetzen. Testweise lief es früher bereits, ohne dass mir Probleme aufgefallen sind.

    Gern würde ich dennoch besprechen, ob ich das so weiterlaufen lassen sollte. Seit der Umstellung auf SSD sind die Suchzeiten deutlich gesunken, allerdings habe ich rund 50 Mio. E-Mails im Bestand.

  • sshfs scheint kein Locking zu unterstützen, daher kann das gefährlich werden. Ich würde es nicht tun.

    Mein neues Setup

    • Mailserver + Storage → laufen auf einer Instanz
    • MariaDB + Apache2 (Webmail) → laufen auf einer separaten Instanz
    • Verbindung über internes 10G-Netz

    Nun meine Überlegung:
    War es nicht so, dass Apache/Webmail eigentlich nichts schreibt, sondern nur liest, und die gesamte Speicherarbeit (Mails ablegen, verschieben, löschen, Anhänge speichern usw.) sowieso vom Mailserver erledigt wird?
    Wenn das stimmt, dann wäre die Aufteilung ja eigentlich unproblematisch – oder habe ich hier etwas übersehen?

    Selbst wenn ein User im Webmail eine Mail verschickt, geht das doch direkt an den Mailserver, der sie dann abspeichert und verarbeitet, korrekt?

    Hintergrund:
    Ich überlege gerade, Maildaten im SQLite-BLOB-Format auf dem Storage zu halten, da die Speicherplatzeinsparung enorm ist. Wir reden hier über ca. 30 TB Maildaten, das wäre also ein echter Gamechanger.

    Frage:

    • Gibt es aus eurer Sicht eine Alternative, die ähnlich effizient wäre?
    • Oder spricht etwas dagegen, das so zu lassen, wie es ist?

    2 Mal editiert, zuletzt von Denny (19. August 2025 um 14:37)

  • Sofern die Storage nicht per nfs oder Netzwerk oder sonstiges eingebundne ist kann man das machen, sobald Netzwerk im Spiel ist geht das nicht, da sqllite das nicht unterstützt!

    DH direkt attachet via SAS Kabel o.ä. klappt problemlos.

    Hoffe diese Info hilft euch^^

  • Moin, danke erstmal. Dann lasse ich es so – anders geht’s halt nicht. Dumm ist nur das Dateisystem mit so vielen kleinen Dateien und Ordnern, das macht mir etwas Sorge für die Zukunft, irgendwann in den nächsten Jahren sind die 100.000.000 Datein voll, ist schon bisschen naja

  • Also ext 4 kann 64.000 Unterordner pro Ordner, dh in einem ordner 64k darin in jedem weitere 64k darin weiter 64k usw. also da hast du noch viel viel viel Platz :)

    Was wichtig und ein bereits mehrfach angesprochenes Thema ist, dass die mails Tabelle pro Nutzer sein sollte, da diese die einzige Grenze und Problematik bei großen Instanzen ist, welche oft zu Problemen führt. Das jedoch aufsplitten ist nicht so einfach, haben wir ja schon mit Patrick und Co im Forum mal diskutiert. Wobei mir die Idee gekommen ist, ob man ggf, parallel 2 GGleisig baut, die alte mails Tabelle bis Stand x und ab Version y pro User eine Mails Tabelle und die alte als Lesezugriff einliest, Habe mir den Code dazuz noch nciht genau angechaut. Der BMS müsste daraufhin dann jedoch abenfalls angepasst werden. Dazu sopllten wir ggf. nochmal einen Thread eröffnen und alles sammeln was diese Problematik angeht.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!