Derzeit ist die primäre Speicherung für Forenbeiträge, Benutzerkonten usw. die PostgreSQL-Datenbank.
Darf ich vorschlagen, das Hauptspeicherformat für Forumsinhalte in einfache Textdateien umzuwandeln?
Aufgrund schwer zu behebenender Datenbankprobleme (für mich als Benutzer schwierig) halte ich das Risiko für den Verlust aller Forendaten für hoch, bedingt durch das scheinbar bzw. effektiv undurchsichtige binäre Format von SQL-Datenbanken. Es sieht so aus, als könne niemand eine schwer beschädigte Datenbank reparieren (was kein sichtbares Problem wie oben erwähnt sein wird) oder die Kosten sind für Laien zu hoch.
Ich bin mir sicher, dass es sehr gute Gründe gibt, Datenbanken wie PostgreSQL zu verwenden, etwa wegen der Leistung. Ich schlage jedoch ein transparentes, für Menschen lesbares Textformat für Backups als letztes Notfallmittel vor, falls die Datenbank-Backup- und Wiederherstellungsfunktion beschädigt oder defekt ist.
Sie müssen wahrscheinlich nicht davon überzeugt werden, wie großartig Git ist – Sie verwenden es bereits. Forumsinhalte könnten als Unterordner in vielen Textdateien gespeichert werden. Dadurch könnte der gesamte Ordner unter Versionskontrolle mit Git gestellt werden. Falls Fehler eingeführt werden, ist es viel einfacher nachzuvollziehen, welcher Commit sie verursacht hat.
Da Datenbanken (unzuverlässig, komplex) wahrscheinlich weiterhin benötigt werden, könnten diese Textdateien (einfach, zuverlässig) als Vorlage dienen, um die Datenbank „aus dem Quellcode“ neu zu erstellen. Wenn die Speicherung neuer Beiträge in Textdateien in Echtzeit zu langsam ist, können Sie die Option für Textdatei-Backups bei Bedarf oder wenn das System im Leerlauf ist aktivieren. (Verzögertes Schreiben / Schreib-Cache.)
Öffentliche Daten (öffentliche Forenbeiträge) würden sich in einem anderen Ordner befinden als private Benutzerdaten und gehashte Passwörter. Ein zusätzlicher Vorteil wäre, dass der öffentliche Teil (Beiträge) sogar auf einem Git-Remote für diejenigen veröffentlicht werden könnte, die das nützlich finden (Archivierung). Benutzerdaten würden in einem nur lokal zugänglichen Git-Repository (oder einem benutzerdefinierten, Remote-, privaten, verschlüsselten Git-Repository) verbleiben.