phpbar.de logo

Mailinglisten-Archive

[php] MySQL versus Filesystem

[php] MySQL versus Filesystem

Norbert Pfeiffer php_(at)_phpcenter.de
Mon, 22 Oct 2001 13:04:10 +0200


Hi,

> > habe mich ein wenig erschreckt:
> > http://itbw.de/_tests/diverse/db_fs/test00.php4
> Ich auch :-)

da habe ich mich warscheinlich etwas zu kurz gefasst.

- Den Verdacht, dass einzelne, genau lokalisierbare Zugriffe
  im FS schneller ablaufen, als in einer DB, hatte ich schon
  immer. Dass der Unterschied so frappierend ist, haette ich
  dagegen nicht gedacht.
- Suchen in groesseren Datenmengen und oder Sortierungen
  bekommt man IMHO auf keinen Fall mit einer Scriptsprache
  so performant hin, wie mit einer Datenbank. Da sorgt schon
  allein der Interpreter dafuer...
- sekundaere Binaerdaten (im allgemeinen Bilder und Sounds)
  haben in einer DB nix verloren, weil:
  - zuerst wird die Seite ausgeliefert
  - dann merkt der Browser, da fehlen ja noch Objekte
    und fordert sie nachtraeglich an.
  - erst jetzt faengt man per Script an, die Datenbank zu
    ueberreden, den Blob rauszuruecken, den man dann versendet.
    Dabei koennte das der Apache schon von sich aus... ;-)
  - selbst Oracle mit dem neuen Listner sieht da einfach alt aus,
    rein performacemaessig, wie entsprechende Tests beweisen.
  - die lustigste Ausrede fuer Binaerdaten in einer Oracle-DB:
    'Dann ist das Backup fuer mich wesentlich bequemer.'

Genau das ist auch ein Grund, JS- und CSS- Dateien nicht im
Haeder anzugeben, sondern direkt zu includen. Man erspart dem
Apache zwei Requests, und dem Browser die Wartezeit...

Einen tief verschachtelten FS-Baum braucht man nicht, nur um
100.000 Files abzulegen:
- eine Festplatte sollte IMMER < 50% ausgelastet sein
  dann fragmentiert sie kaum und bleibt IBM-schnell.
- zwei Stufen reichen um eine DB nachzubilden:
  /db_name/tb_name/prefix.unique_id.ext
  was einem Single-Select auf eine DB voll entspricht.
- wer mit M$ arbeiten muss, hat andere Probleme als schlechte
  Festplattennutzung durch Clustergroessen, kleinere als 20GB
  gibt es im Handel nicht mehr, davon nutze ich < 2% ... ;-)
  
Last not least, bei gleichzeitig zu erwartenden Schreibzugriffen
bietet Linux IMHO zwar ein sicheres Filelocking, trotzdem wuerde
ich rein gefuehlsmaessig hier eine DB vorziehen...


m. b. G. Norbert
_____________________
normal:  02292-681769
Notruf:  0177-2373368
---------------------
e.o.m.



php::bar PHP Wiki   -   Listenarchive