Script mit und ohne MySQL - Gut / Schlecht?

Turbulence

Well-known member
ID: 77813
L
23 April 2006
663
48
Hallo,

es gibt Scripte, die MySql abhängig sind und welche, die kein MySql brauchen. Welche Vorteile bzw. Nachteile gibt es? Ich habe nach solchen Themen gesucht, aber nichts gefunden.

MfG

Turbulence
 
Wenn du eine SQL-Datenbank zur Verfügung hast ist mit SQL-Anbindung natürlich besser... Wenn nicht ohne ;)

Gruß Aru
 
@Arusiek Aber wieso ist das dann besser? Läuft das Script schneller? Welche Auswirkung hat es? Ich möchte schon genauere Begründung haben, ich will es verstehen ;) Beispiele wären auch nicht schlecht...


MfG

Turbulence
 
es gibt Scripte, die MySql abhängig sind und welche, die kein MySql brauchen.
Wenn sie in einer MsSQL oder PostgreSQL oder .... speichern, brauchen sie eben kein MySQL ;)

Ich möchte schon genauere Begründung haben, ich will es verstehen ;) Beispiele wären auch nicht schlecht...
Es gibt Notebooks mit DVD-Laufwerk und welche ohne. Was sind die Vor- und Nachteile? Naja, mit dem Notebook mit DVD-Laufwerk kannst du Filme von DVD abspielen und Daten von DVD lesen; mit dem ohne geht das eben nicht.

So ists bei deiner Frage auch. Nur, dass es statt der MySQL-Datenbank natürlich noch viele weitere Datenbanken gibt, sollte das Script überhaupt eine brauchen (wenn du keinen Film von DVD gucken willst).


Ich hoff mal, dieser etwas komische Vergleich bringt etwas :biggrin:
 
Der Vorteil liegt nicht unbedingt in der Performance, wobei das u.U. noch hinzukommt... Eine Datenbank ist halt erstmal viel einfacher und gezielter abzufragen als wenn ich jedesmal eine komplette Datei einlesen und irgendwie in Arrays o.ä. verwurschteln muss.

@Hacker: Auch wenn er sich evtl. unglücklich ausgedrückt hat meinte er imho den Unterschied zwischen DB und "Flatfiles", also gar keiner DB ;)

Gruß Aru
 
Ich glaube das ging bisher etwas an dem vorbei was gefragt war ^^

Was ist der Unterschied? Na eines der Scripte kann Dateien speichern, das andere nicht (k, es kann es vllt in Textdateien, da wäre dann aber eine Datenbank vorzuziehen). Also kann man pauschal nicht sagen ob mit oder ohne Db besser ist, wenn keine Daten gespeichert werden müssen, dann braucht man auch keine Datenbank.
Sollte das Script Daten speichern (Benutzerregistrierung, Besucherzählen usw) ist ein Script mit Datenbank die bessere Wahl, denn in Textdateien speichern ist Mist.
 
Ja sry, Arusiek & ice-breaker haben mich schon richtig verstanden. Ich meine einmal das speichern in DB und normale Datei (Textdatei etc.)

Wieso ist das speichern in eine Textdatei schlecht? Eigentlich funktioniert das doch fast gleich, ob DB oder Datei? Außerdem kann man die Datei einfacher sichern als eine DB. Irgendwie verstehe ich diesen zusammenhang nicht, zwischen das speichern in ein DB und einer Datei. Mir ist klar, dass Scripte mit DB besser sind als ohne, aber warum? Das kann ich mir nicht erkären...

MfG

Turbulence
 
@Hacker: Auch wenn er sich evtl. unglücklich ausgedrückt hat meinte er imho den Unterschied zwischen DB und "Flatfiles", also gar keiner DB ;)
Das könnte auch gefragt sein :think: ... geht aber nirgends aus dem Text hervor und hast du reininterpretiert, damit die Frage sinnvoller erscheint :mrgreen:

Es gibt ja diese Textfiles-basierenden "Datenbank-Systeme", die einfach INSERT, SELECT, UPDATE und DELETE FROM unterstützen, aber besonders schnell sind diese Dinger natürlich nicht.
 
Das könnte auch gefragt sein :think: ... geht aber nirgends aus dem Text hervor und hast du reininterpretiert, damit die Frage sinnvoller erscheint :mrgreen:
Erwischt :angel:

Es gibt ja diese Textfiles-basierenden "Datenbank-Systeme", die einfach INSERT, SELECT, UPDATE und DELETE FROM unterstützen, aber besonders schnell sind diese Dinger natürlich nicht.
Dazu noch unhandlich und nicht sonderlich sicher... ;)
Ich würde keinen Kundenbestand mit evtl. sensiblen Daten in Flatfiles speichern.

Gruß Aru
 
Also wenn man mit Kundendaten zu tun hat, ist die Flatfile unsicher. Kleine Scripte wie Webnews, Gästebücher usw. würde eher für Flatfiles geeigneter sein, oder nicht?

MfG

Turbulence
 
Also wenn man mit Kundendaten zu tun hat, ist die Flatfile unsicher. Kleine Scripte wie Webnews, Gästebücher usw. würde eher für Flatfiles geeigneter sein, oder nicht?
Nein... Wenn du eine DB zur Verfügung hast ist diese immer die bessere Wahl!

Ein GB z.B. kann man notfalls auch in Flatfiles speichern.

Gruß Aru
 
Es kommt sehr auf das Script und die Art und Weise der Verwendung der Daten an.

Wenn ich eine relativ begrenzte Menge an Daten haben (sagen wir mal 50 Einträge, vielleicht Länder und deren Kürzel) - und ich sowieso immer die komplette Liste brauche, dann ist ein Flatfile besser geeignet (weil es normalerweise schneller ist).

Habe ich aber sehr viele Datensätze und brauche nur selektiv bestimmte Daten, dann ist die Datenbank besser geeignet. Weil diese darauf optimiert ist, die Daten sehr schnell und effektiv zu verarbeiten. Und man kann die Daten viel besser strukturieren.

Ob eine Datenbank grundsätzlich sicherer ist, kommt sehr auf die Einstellungen an (Benutzerrechte) und natürlich auf Backups. Und SQL-Injections sind auch nicht zu vergessen...

Also der Vorteil der DB ist, dass sie sehr große Datenmengen effizient und strukturiert speichern und verarbeiten kann.
Der Vorteil der Datei ist die Geschwindigkeit bei sehr kompakten Datenmengen.

Nachteil der DB ist, dass man SQL lernen und DB-Strukturen verstehen muss. Wenn man das aber kann, dann will man das nicht mehr vermissen.
Nachteil der Datei: Man kann nicht einfach sagen: liefere mir den Durchschnitt aller Werte in Spalte A für die Spalte B eins ist und in Spalte C ein bestimmter Eintrag drin steht. Und das verknüpfe noch mit der anderen Tabelle, wo ...

Tendenziell würde ich im Normalfall der Datenbank den Vorzug geben.
 
Es gibt ja diese Textfiles-basierenden "Datenbank-Systeme", die einfach INSERT, SELECT, UPDATE und DELETE FROM unterstützen, aber besonders schnell sind diese Dinger natürlich nicht.
Falls du SQLite meinst, das ist alles andere als schlecht ;) Kann sogar Transaktionen und ist alles andere als unperformant, ist nur eben nicht für viele gleichzeitige Zugriffe gedacht, da das File immer komplett gelocked werden muss, aber für kleine Dinge ziehe ich SQLite mitlerweile sogar schon MySQL vor, da ich ent für 3-4 Tabellen eine komplette Datenbank anlegen muss.

Wenn ich eine relativ begrenzte Menge an Daten haben (sagen wir mal 50 Einträge, vielleicht Länder und deren Kürzel) - und ich sowieso immer die komplette Liste brauche, dann ist ein Flatfile besser geeignet (weil es normalerweise schneller ist).
Quatsch, MySQL cached dir die Daten sogar wenn du es bittest.




Wenn man eine Anwendung hat, die Daten speichert sollte man immer eine Datenbankbasierte Version bevorzugen. Gerade bei Flast-Files kommt es auch oft dazu, dass bestimmte Features implementiert werden sollen (Durchschnittsalter aller User) und dann fängt das Gefrickel richtig an.
 
Falls du SQLite meinst, das ist alles andere als schlecht ;) [...] Quatsch, MySQL cached dir die Daten sogar wenn du es bittest.
Ich quote das mal am Stück, weil genau deshalb wär ich bei Textfiles misstrauisch: Ein Textfile muss immer komplett von der Platte gelesen werden (außer dein OS ist so clever und hält es im RAM), die DB hält solche Tables wohl eher im RAM bereit.
 
Die Db hält es auch net im Ram ;)
Die Datenbank hält die Indizes im Ram und ganz selten noch nen bisschen Daten, aber dafür reicht meist der Ram gar net.
Probier SQLite einfach mal aus, wenn es ne einfache Anwendung ist, die nicht soviel benutzt wird, also du nicht Unmengen parallele Zugriffe hast ist die Performance für SQLite vollkommen supi, und die Distrubution der Applikation ist viel einfacherer, per FTP hochschieben, Config des Apps eventuell anpassen und fertig ^^
 
Danke an Euch alle, vor allem an Sebbo für die Informative Beiträge. Jetzt ist mir so einiges klarer geworden. ;)

MfG

Turbulence