Aus reinem Wissensdrang wollte ich mal wissen, was ihr findet, ab wann eine MySQL-Datenbanke einem einfach kleinen Textfile vorzuziehen wäre.
Könnte man z.B. sagen, dass ab einer gewissen Grösse oder Anz. Einträge MySQL schneller/besser ist.
Oder ist SQL einfach “nur” desshalb besser weil Auswertungen über die geregelte Strukturierung der Datenbanken komfortabler zu erledigen sind?
Ich hab auch schon mal gehört, dass SQL-Datenbanken eine gewisse “Performance” des Servers voraussetzen und den auch langsamer machen können… Stimmt das?
–> interessant wäre hier auch die Meinung eines Admins wie miro, der das richtig beurteilen kann
Oder gibt es andere Argumente, die ich bisher vergessen habe?
Also ich denke von der Verwaltung her usw. ist SQL das beste.
txt wär nur für Leute die kein SQL Space haben.
Man hat ne bessere übersicht und ich bin der Meinung die SQL Dateien sind kleiner als ne normale TXT.
Müsst ich mal vergleichen
Man könnte auch formulieren, daß Datenbanken dazu erdacht
wurden, komplexe korrelierte Datensätze zu bearbeiten,
besonders auch, um darin effektiv nach Daten zu suchen, wo
man beim Abspeichern nicht weiß, wie sie später genutzt werden
oder wo es verschiedene Nutzungsmöglichkeiten gibt und damit
verschiedene Korrelationen zwischen einzelnen Datensätzen.
Bei der ebenfall häufig vorkommenden PHP-Anwendung, daß
man eine Ausgabe aus Dokumentfragmenten zusammensetzen
will (Kopf, Fuß, Menü, Inhalt), weiß man ja genau, um was es
geht und wie der Kram verwendet wird. Man muß nichts suchen
und anders korrelieren als man es anfangs geplant hat. Da
eignen sich Textdateien eher.
Zudem ist eine Datenbank immer ein zusätzliches Programm,
was unabhängig vom Apachen und vom PHP ein Problem haben
kann, was bei Textdateien eher nicht passieren kann. Eine
Anwendung mit Textdateien ist also nicht auf das zusätzliche
Programm angewiesen. Noch stabiler läuft alles natürlich, wenn
man nur Textdateien und keine PHP-Skripte verwendet, ist
allerdings in der Planung und Aktualisierung aufwendiger.
Bei einer Datenbank hat man also ein zusätzliches Risiko, man
muß aber das effektive Suchen und Korrelieren von Datensätzen
nicht mehr selber programmieren. Wenn man eine solche
Such- und Korrelationsanwendung hat, lohnt sich das Risiko
natürlich und der Nutzen überwiegt deutlich. Trifft das nicht zu,
so kann eine simple Dateienlösung durchaus vorteilhafter und
einfacher sein. Je weniger man über die spätere Nutzung von
Daten weiß, desto sperriger werden Textdateien und desto
effektiver wird es, sich des Datenbankprogrammes zu bedienen.
Ich kann also draus schliessen, wenn ich z.B. ein Portal aufbaue, wo von einzelne User mehrere Daten gespeichert werden und diese für verschiedene Auswertungen/Statistiken einzeln ausgelesen werden müssen, ist die Lösung mit einer Datenbank wohl am besten geeignet - zumal ich auch zukünftig das Portal weiter entwicklen will, so gelange ich genau an den von dir erwähnten Punk: "Je weniger man über die spätere Nutzung von
Daten weiß, desto sperriger werden Textdateien "
Hmm… das heisst wohl auch, dass ich mich nebem php auch noch in MySQL einarbeiten muss!!
Ein böses Beispiel hinsichtlich Datenbanken haben ich noch ;o)
Man kann etwa bei MySQL und ähnlichen auch große Objekte
abspeichern. Verwendet man das bei einer Bildergalerie, um
die Bilder selbst in der Datenbank (!) abzuspeichern, so hat man
sich selbst oder den anderen Nutzern der Datenbank und des
servers ins Knie geschossen, denn an sowas hat die Datenbank
schwer zu schaffen.
Sollte man bei der Bildergalerie aufgrund Größe und
Komplexität der Suchmöglichkeiten dennoch eine Datenbank
benötigen, so empfiehlt es sich, die Pixelgraphiken als statische
Dateien abzulegen und in der Datenbank nur die Pfade zu den
jeweiligen Bildern abzulegen, also nur mit den Referenzen zu
optimieren, nicht mit den Dateien selbst.
Ähnliches gilt wohl auch für sonstwie große Datenpakete, die
nie durchsucht werden sollen und die einfach nur ausgegeben
werden sollen (Video, Audio, große Textblöcke ohne
PHP-Skriptfragmente).