jimbob: was ist schneller filezugriff oder mysql?

hallo,

ich frage mich gerade was schneller bzw. effizienter ist eine datenbank oder ein filezugriff! arbeite im moment mit mysql aber dachte mir wenn es effizenter ist dann könnte ich kleine teile in files auslagern! ist eine Db nicht meist ein flaschenhals?

ReSPeCT jimbob

  1. Hallo,

    ich frage mich gerade was schneller bzw. effizienter ist eine datenbank oder ein filezugriff! arbeite im moment mit mysql aber dachte mir wenn es effizenter ist dann könnte ich kleine teile in files auslagern! ist eine Db nicht meist ein flaschenhals?

    Das kommt auf die Menge der Daten an - für wenige ist sicher der Aufwand mit der DB zu groß, bei vielen hundert-Datensätzen kriegst du riesige Dateien und dann wirds immens langsamer.

    Dazu gabs übrigens gestern oder vorgestern schon nen Post wo jemand ziemlich gute Pro/Kontra aufgelistet hat

    cu Benedikt Loepp

    1. Hallo,

      [pref:t=56136&m=313710] Der Post wars

      cu Benedikt Loepp

      --
      visite http://www.webocton.de - Aufträge erwünscht :-)
  2. hi,

    eine gute Alternative zu DB's vs Textfiles sind Berkeley DBs (DB_File, gibts sicher auch für PHP) oder INI Dateien. Beides ist hinsichtlich Performance nicht ganz uninteressant weil (zumindest in PERL) DB_File oder eine INI - Datei mit tie() an einen hash gebunden wird. tie() sorgt dafür dass nicht die gesamte Datei im Speicher rumliegt und die Zugriffe erfolgen über die Methoden die ein hash halt so bietet...

    Während bei DB_File der Inhalt als Key-Value-Paar abgelegt ist, lassen sich Tabellen in einer INI wie folgt ablegen

    [primary_key]
    col_1=content_col_1
    col_2=content_col_2
    usw.

    Bereits mit 2 solcher INIs lassen sich komplette Hierarchien aufbauen oder Tabellen verknüpfen, siehe auch Artikel auf i-netlab (Navigation mit CGI).

    Ein anderer Aspect zur Entscheidungsfindung ist auch der:

    • für eine online-DB brauchst du ein Frontend um den Content zu managen und zwar online (Zeitaufwand?).
    • sollen die Daten auf ein anderes System portiert werden sind ggf. Convertierungstools erforderlich, es sein denn die Plattform ist dieselbe.

    Eine INI Datei als Container kann hingegen lokal erstellt und getestet werden, wird dann hochgeladen - done. Siehe Online - Zeitaufwand.

    Hier mein Artikel http://i-netlab.de/cgi-bin/index.cgi?display=40.4

    Viele Grüße, Rolf

    ich frage mich gerade was schneller bzw. effizienter ist eine datenbank oder ein filezugriff! arbeite im moment mit mysql aber dachte mir wenn es effizenter ist dann könnte ich kleine teile in files auslagern! ist eine Db nicht meist ein flaschenhals?

    ReSPeCT jimbob