Was ist die beste Praxis große Mengen an Text zum Speichern (in ein DB oder als Datei?) Und was es zu komprimieren?

StackOverflow https://stackoverflow.com/questions/504544

Frage

Ich bin der Aufbau eine Web-Anwendung, die internen E-Mails und andere häufige kleine bis mittelgroße Brocken von Text zwischen den Nutzern und Kunden abwickelt. Was ist die beste Methode, um diese zum Speichern von Daten? In einer Datenbank (MySQL) oder als Tausende von einzelnen Dateien? Was ist Komprimieren (PHP gzcompress () oder MySQL-Komprimierungsfunktionen)?

Dies wird nicht eine öffentliche Anwendung sein, so wird der Benutzer Last minimal sein (weniger als 20 Benutzer gleichzeitig). Allerdings wird es viel Kommunikation sein zurück und nach vorne jeden Tag innerhalb der App, so dass ich erwarte, dass die Menge an Daten, ganz wachsen groß wie die Zeit vergeht (weshalb ich es komprimieren mag).

Ich möchte die Daten in einer Datenbank halten für einen leichten Zugang und Portabilität, aber einige der Fäden ich hier in Bezug auf Bilder gesehen habe, haben mit Dateispeicher vorgeschlagen. Was denken Sie?

Danke, Seth

Bearbeiten zur Klarstellung:. Ich brauche keine Art von Text zu suchen, weshalb ich anlehnen würde es zu komprimieren auf Platz zu sparen

War es hilfreich?

Lösung

Für Bilder und Dokumente, die bereits in einem speziellen Format sind (Excel, Word-Dokumente, PDF-Dateien, usw.) Ich ziehe Dateispeicher. Aber für nur Rohtext würde ich wahrscheinlich eher eine Datenbank verwenden. Es ist einfacher, über Maschinen für Failover zu replizieren, können Sie Teilzeichenfolge suchen über den Text tun, und obwohl ich von einem bestimmten Algorithmus weiß nicht, es zu komprimieren, zu verwenden, würde ich denken, dass eine Datenbank ein besserer Weg zu gehen wäre. Aber nur, wenn Sie bereits nur den Text, und es ist nur Text. Jedes andere Format des Dokuments Ich würde es vorziehen, Dateispeicher verwendet wird.

Und es sei denn, ich bin etwas fehlt Ich würde ein CLOB anstelle eines BLOB verwenden, wenn es nur Text ist.

Andere Tipps

Einer der Hauptgründe für die Dateien in einer Datenbank zu halten, ist es mit dem Rest der Daten konsistent zu halten, die Sie speichern. Es wird leichter sein, um Backups zu machen, (Wieder-) bereitstellen mit vordefinierten Datensatz usw. Außerdem ist es einfacher, die Transaktionsintegrität zu gewährleisten.

Einer der Vorteile von Text als Dateien speichern könnte sein, dass es einfacher ist, um ihnen zu dienen, einen Webserver verwenden, wenn dies die einzige ist verbleibenden Nutzen von Dateien verwenden Sie in das Zwischenspeichern der Dateien auf dem Webserver aussehen könnte - das gibt Sie viel von der einfachen Datensicherung und Transaktionen der Datenbank, aber zur gleichen Zeit, um einige Speedup für hTTP-Anfragen zu ermöglichen.

Ich hätte gewählt, um eine DB zu verwenden. Sie beschreiben ein Szenario, in dem Sie eine große Menge von Nachrichten speichern gehen. Sie bieten nicht viele Informationen über das System, aber ich würde vermuten, dass Sie wahrscheinlich, Gruppe sortieren möchten und mehrere andere Eigenschaften auf die Nachrichten anzuwenden. Es wäre viel einfacher und wahrscheinlich schneller um die Nachricht zu halten mit ihren Attributen in einer DB statt Dateispeicherung verwendet wird.

Wenn es darum geht, weiß ich nicht auf Kompression, welche der Methoden am effektivsten ist. Sie sollten wahrscheinlich versuchen, beide vor der Wahl.

Ich frage mich, wie groß ist dieser „Medium Brocken“. Wenn die Textnachrichten nur geschrieben (so weniger als 10 KB), dann Komprimieren macht sie noch kleiner, und es gäbe keine großen Auswirkungen auf der Datenbank Wachstum. Es macht die Entwicklung und Wartung auch viel einfacher, alles vorhanden mit singl Abfrage zu haben und nicht separat den Inhalt der Datei erhalten hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top