[SQL allgemein] Filesystem vs BLOB DB - Timinganalyse

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [SQL allgemein] Filesystem vs BLOB DB - Timinganalyse

    Hi!
    Ich arbeite im Rahmen meiner Abschlussarbeit gerade an einem Bildarchiv. Ich erkläre es mal kurz,
    wird zwar lang - ist aber besser fürs nachvollziehen meiner Gedanken.

    Die Bilder werden nach dem upload mit ImageMagick
    in gewünschte Unterformate verkleinert. Es entstehen
    zusätzlich zum Originalbild noch 5 weitere Bildformate.

    Da es verschiedene Freigabeegenen gibt, müssen die Bilder in
    verschiedenen Ordnern abgelegt werden.
    Zusätzlich werden Bildinformationen vom Benutzer abgefragt.

    Um die Bilder zu referenzieren, existiert eine Tabelle einer Datenbank
    die wichtige Elemente wie Bildpfad und Bildmaße (x und y) enthält.

    Das System läuft sehr gut, der Zeitbedarf für die Abarbeitung eines
    Scriptes hält sich auch im Rahmen.
    Mann kann sagen, das der Upload die einzige Bremse ist -
    das ImageMagick wird per PHP Aufruf system() angesprochen
    und ist auch "gezähmt".

    Nun zu meiner Frage:
    Wenn man die Datenbank nun als Blob System einrichtet und
    Thumbnails per PHP Script in die <img src=script.php> HTML Tags
    generieren lässt, was passiert dann mit dem Zeitverhalten? Mir ist
    aufgefallen, das alleine die Bildgenerierung mittels PHP gd auch
    etwas träge ist. (Wesentlich langsamer als das referenzierte Bild
    direkt aufzurufen)
    Ich soll mir nun Gedanken darüber machen, aber es fehlen mir
    jegliche Erfahrungswerte.


    Hat jemand von Euch damit Erfahrungen gemacht?
    Ist so etwas sinnvoll als Blob anzulegen, wenn das System
    "Jahrhunderte" überdauern soll?
    Wir die Datenbank dadurch zu einem übergroßem Ungetüm und
    dann noch träge?

    Gruß Martin

  • #2
    Re: [SQL allgemein] Filesystem vs BLOB DB - Timinganalyse

    Original geschrieben von ringintegral
    Nun zu meiner Frage:
    Wenn man die Datenbank nun als Blob System einrichtet und
    Thumbnails per PHP Script in die <img src=script.php> HTML Tags
    generieren lässt, was passiert dann mit dem Zeitverhalten? Mir ist
    aufgefallen, das alleine die Bildgenerierung mittels PHP gd auch
    etwas träge ist.
    Hm ... wie meinst du denn das? du erzeugst die Thumbs jedes Mal neu oder was?
    Hat jemand von Euch damit Erfahrungen gemacht?
    Ist so etwas sinnvoll als Blob anzulegen, wenn das System
    "Jahrhunderte" überdauern soll?
    Wir die Datenbank dadurch zu einem übergroßem Ungetüm und
    dann noch träge?
    es gibt pro und contra im Net, was das Ablegen von Bildern in die DB angeht. Such mal
    Ich persönlich, lege die Bilder lieber im Dateisystem ab, denn somit kann ich als Admin auch schnell mal die Bilder in einem Rutsch per ftp austauschen, ohne umständliche db-update durchführen zu müssen.

    Kommentar


    • #3
      Meiner Ansicht nach macht es wenig bis keinen Sinn, die Bilder in nem Blob in der DB unterzubringen. Die DB könnte bei einer hohen Anzahl an Datensätzen doch deutlich an Performance verlieren.

      Die Ausgabe durch das PHP-Script (gd) erfordert natürlich auch noch ein klein wenig Zeit und Serverlast, die Bildfunktionen in PHP sind allgemein etwas zäh soweit ich es beurteilen kann. Zur blosen Ausgabe eines Bildes ist es daher IMHO besser, das Bild im Filesystem abzulegen und einfach im IMG-Tag einzubinden, dadurch muss der Server einfach nur das Bild an den Client senden, sonst nix.

      Bei der Ausgabe über ein Script belegt es ja im Server-RAM immer deutlich mehr Speicher als es .jpg im Filesystem abgelegt an Speicher verbraucht.

      Gruss
      Quetschi
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar


      • #4
        @asp2php:
        Ja, die Erstellung von Thumbnails würde dann aus den Daten des blob Systems passieren - da dann nur das Originalbild in der
        Datenbank existiert. Je nachdem welche Bildgröße angefordert
        wird. Die Bilddaten muss ich doch dann "zurückcodieren" damit
        wieder ein "sichtbares" Bild entsteht.

        @aps2php & Quetschi:

        Ehrlich gesagt kann ich mich mit dem Gedanken überhauptnicht anfreunden, Bilder in eine DB abzulegen.
        Als Admin (newbie - lernend) habe ich da eher eine Verbindung zu meinen Ordnern und Dateien aufgebaut, als zu einem Bilddatensatz xyz.
        ok ok eine Datenbank ist auch eine Struktur aus Dateien und Ordnern, aber eben nicht so leicht greifbar/ änderbar wie eine Bilddatei inmitten
        eines Filesystems.

        Danke für Eure posts, alleine das hat mir wirklich schon geholfen.
        Gruß Martin

        Kommentar

        Lädt...
        X