Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von März

SELFHTML Forumsarchiv
Textdateien in einer DB speichern

Informationsseite
  1. Seite (SONSTIGES) Textdateien in einer DB speichern von Horst, 30. 03. 2008, 19:57
nach unten

Textdateien in einer DB speichern

Die folgende Nachricht zum Thema stammt von: Horst, 30. 03. 2008, 19:57

Hallo liebe Forumer,

ab und zu wird hier über die Sinnfälligkeit hinsichtlich "Speichern von Textdateien" in einer Datenbank like MySQL gestritten.

Alle Kontras, die ich dazu gelesen habe, auch außerhalb dieses Forums, habe ich sorgfältig abgewägt und als "für meine Zwecke nicht zutreffend" befunden.

Ich fasse die Kontras einmal hier zusammen, die mir zugetragen wurden (-Kontra, +Ich):

- Zum Download einer Datei muss ein CGI-Prozess gestartet werden
+ Muss er sowieso, weil ich einen Counter auf dem Download habe

- Die Textdatei ist in der DB größer als im FS
+ spielt praktisch keine Rolle

- Beim Upload droht eine SQL-Injektion
+ Upload mache nur ich und ich weiß was ich da mache, das Upload-Script ist einzig nur mir zugänglich

Wie Ihr sehen könnt, sind diese Kontras ein bischen sehr dünne. Ich habe mich davon nicht beirren lassen und in den letzen Tagen meinen Downloadbereich auf eine MySQL-DB-Tabelle gesetzt. Sehr kompakt, benutzerfreundlich und skalierbar funktioniert das Alles einwandfrei ohne der Gefahr von Medienbrüchen bzw. Inkonsistenzen zwischen der DB und dem FileSystem (FS).

Viele Grüße aus der Anstalt,
Horst Haselhuhn

nach obennach unten

Textdateien in einer DB speichern

Die folgende Nachricht zum Thema stammt von: Tom, 30. 03. 2008, 20:20

Hello,

»» - Zum Download einer Datei muss ein CGI-Prozess gestartet werden
»» + Muss er sowieso, weil ich einen Counter auf dem Download habe

- Die Last für die Datenbank wird erhöht
- Du benötigst ein entsprechendes Speichernutzungsmodell für die DB
- Die maximale Größe der Datenbank ist schneller erreicht

»» - Die Textdatei ist in der DB größer als im FS
»» + spielt praktisch keine Rolle

Das ist nun im Prinzip genau anders herum, denn die DB teilt dem Record nur wenig mehr Speicherplatz zu, als er benötigt. Im Filesystem werden aber meistens 8KB-Blöcke vergeben.

»» - Beim Upload droht eine SQL-Injektion
»» + Upload mache nur ich und ich weiß was ich da mache, das Upload-Script ist einzig nur mir zugänglich

Woher sollte die kommen, wenn Du die Escape-Funktion der DB anwendest. Das musst Du ja ohnehin, denn Textdateien können Returns, Häkchen, Backslashes und sonstige betroffene Zeichen enthalten.

Wenn Du das Select als stored Procedure ausführst, kannst Du den Zähler für die Anforderung gleich der Datenbank überlassen. Dann wird jedes Select auf die betroffnenen Records automatisch gezählt.

Das schöne an der DB-Lösung ist natürlich, dass Du jede Menge Metainformationen an die Daten binden kannst und die auch bequem durchsuchbar sind.




Liebe Grüße

Tom vom Berg
--
Nur selber lernen macht schlau

nach obennach unten

Textdateien in einer DB speichern

Die folgende Nachricht zum Thema stammt von: Horst, 30. 03. 2008, 20:40

Helo Tom,

in meinem Downloadbereich werde ich demnext die Anzahl der Downloads je Download-Topic angeben. Das ist mit meiner bisherigen Lösung leicht machbar (Ajax).

Btw., mein Downloadbereich: klitzekleine Progrämmche in c geschrieben. z.B. das hier:

Mein Programm arcfoto.exe nimmt Ihnen diese Arbeit ab. Programmaufruf:

D:\_c\exe>arcfoto.exe
Das Programm macht folgendes:

Stammverzeichnis auslesen, Fotos umbenennen und in ein dem Datum
entsprechenden Zielverzeichnis ablegen.
Die Fotos werden umbenannt like 23.03.2008_001.jpg, 23.03.2008_002.jpg usw.
Verteilt werden die Fotos in Unterverzeichnisse unter dem Stammverzeichnis
welche dem Bild-Datum entsprechen:

d:/arcfoto/2008/03
d:/arcfoto/2008/04

usw. Sollte das Stammverzeichnis nicht vorhanden sein, wird es angelegt.

Das Stammverzeichnis wird mit Namen 'arcfoto' auf dem Laufwerk angelegt,
von dem aus dieses Programm gestartet wird.

Vor dem Starten dieses Programms muessen lediglich die Fotos
von der Kamera in das Verzeichnis 'arcfoto' kopiert werden....

/************************************************************************/

Ergo:
Sie holen die Datei völlig unzerknittert aus meiner DB. Für Umme. Noch Fragen?

nach obennach unten

Textdateien in einer DB speichern

Die folgende Nachricht zum Thema stammt von: Horst, 30. 03. 2008, 21:12

Hello Tom,

wenn Du der Meinung bist, dass MySQL zum Speichern von Text-Dateien nicht geeignet ist, ähm ja, hast Du die Entwickler von MySQL mal deswegen angeschrieben?

Viele Grüße,
Hotte

nach obennach unten

Textdateien in einer DB speichern

Die folgende Nachricht zum Thema stammt von: Tom, 30. 03. 2008, 21:22

Hello,

»» wenn Du der Meinung bist, dass MySQL zum Speichern von Text-Dateien nicht geeignet ist, ähm ja, hast Du die Entwickler von MySQL mal deswegen angeschrieben?

Wie kommst Du den darauf?
Sowas habe ich nirgends geschrieben.

Ich habe Dich lediglich darauf aufmerksam gemacht, dass Du nicht nur aus Sicherheitserwägungen heraus die Escapefunktion benutzen sollt, sondern auch, weil sonst Datenverlust eintreten könnte.




Liebe Grüße

Tom vom Berg
--
Nur selber lernen macht schlau

nach obennach unten

Textdateien in einer DB speichern

Die folgende Nachricht zum Thema stammt von: Jaroslav Jablonski, 31. 03. 2008, 14:31

»» Ich habe mich davon nicht beirren lassen und in den letzen Tagen meinen Downloadbereich auf eine MySQL-DB-Tabelle gesetzt. Sehr kompakt, benutzerfreundlich und skalierbar funktioniert das Alles einwandfrei ohne der Gefahr von Medienbrüchen bzw. Inkonsistenzen zwischen der DB und dem FileSystem (FS).
Machst du hier Werbung für eine Baumarkt-Kette, oder wie jetzt? Werbung wird außerdem nicht dadurch besser, daß man ein paar Allgemeinplätze bedient. Warum werden solche Postings nicht gelöscht, ist doch plumpe Werbung?

JJ

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von März

© 1998-2006 Seite Impressum, Software: Classic Forum