Option zur Verwendung von Flat-/Text-Backing-Dateien statt SQL (Postgres)-Backend

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.

Hier gibt es Skaleneffekte. Eine solche technische Änderung ist erheblich. Wenn das oben Genannte möglich wäre, wären die Leistungsimplikationen so gravierend, dass Ihre zusätzlichen Betriebskosten wahrscheinlich die Kosten eines Beraters übersteigen würden, um Ihre Datenbank zu reparieren.

Datenbanken existieren, weil sie weitaus effizienter sind als die Alternative, nämlich reine Textdateien.

Die Software ist kostenlos, aber das war’s auch schon. Es wäre weitaus besser, kurzfristig in ein #marketplace-Thema zu investieren, als einen Ansatz zu befürworten, der Discourse zu teuer im Betrieb macht.

5 „Gefällt mir“

TL;DR: Nein, das willst du nicht. Wirklich nicht.

Ich verstehe dein Bedürfnis nach mehr Einfachheit.

Aber.

In den 1990er Jahren arbeitete ich mit Internet-Forum-Software (Telnet-BBS), die auf Textdateien basierte. Wir sehnten uns ständig nach mehr und besserer Funktionalität. Wir mussten Daten um „Spalten

16 „Gefällt mir“

Richards Analogie ist treffend. Die Diskussionsdaten von Discourse in Textdateien zu verwalten, wäre unmöglich.

Selbst die Unterstützung einer weiteren Datenbank würde in der Größenordnung von 200.000 $ pro Jahr kosten.

Vielleicht ist es besser, ein Budget festzulegen und im Marketplace nach jemandem zu fragen, der Ihre Datenbank repariert. Es ist eine schwierige Aufgabe, ein Angebot abzugeben, da nicht sofort klar ist, ob Sie nur einen beschädigten Index mit einigen zu korrigierenden Datensätzen haben oder mehrere davon mit Dutzenden zu reparierenden Einträgen.

7 „Gefällt mir“

Die korrupten Indizes in PG10 sind etwas, das wir genau beobachten, und wir werden im verlinkten Thema nach besten Kräften helfen – zum Wohle aller. Ich hoffe, dass PG12 resistenter gegen dieses Problem ist und dass ein Upgrade es langfristig beheben wird.

Ich bin jedoch überzeugt, dass die Rückkehr zu reinen Textdateien keine angemessene Lösung für dieses Problem darstellt.

10 „Gefällt mir“

Postgres bietet eine Backup-Lösung im Klartext an: pg_dump.

pg_dump ist ein Dienstprogramm zum Sichern einer PostgreSQL-Datenbank.

Skript-Dumps sind Klartextdateien, die die SQL-Befehle enthalten, die erforderlich sind, um die Datenbank in den Zustand wiederherzustellen, in dem sie sich zum Zeitpunkt der Sicherung befand.

5 „Gefällt mir“

Vielen Dank für Ihre Überlegungen und Antworten! Das wird sehr geschätzt! :slight_smile:

3 „Gefällt mir“

Streng genommen ist eine Ansammlung von Textdateien eine Datenbank, nur keine, die man für kritische oder leistungsstarke Anwendungen einsetzen möchte.

2 „Gefällt mir“