Datenbank oder Ordner auslesen -> Performance

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

  • Datenbank oder Ordner auslesen -> Performance

    Moin,

    ich arbeite gerade an einem Wordpress/Buddypress Projekt. Meine User haben die Möglichkeit, Bilder hochzuladen, diese werden vom Script (BP Album+) in einer Datenbank gespeichert. Ich habe das Script so angepasst, dass das ganze jetzt in etwa so aufgebaut ist:

    User 1 Galerie
    --- Kategorie 1
    --- Kategorie 2
    --- Kategorie 3
    User 1 Galerie
    --- Kategorie 1
    --- Kategorie 2
    --- Kategorie 3

    etc.
    Der User muss also vor dem upload festlegen, in welche Kategorie das Bild kommt und dieses wird im entsprechenden Ordner gespeichert. Es gibt 7 Kategorien, also 7 Ordner pro User.
    Ich kann schon relativ genau sagen, dass maximal 100 User, also 700 Ordner mit grob geschätzten 5000 Bildern angepeilt sind. Wobei pro Bild immer 3 Versionen abgespeichert werden (Thumbnail, Original, Webseitenansicht), also sind es eher 15000 Bilder...

    Für die Bildausgabe habe ich mir jetzt ein Script geschrieben, welches alle User-Ordner der bestimmten Kategorie ausliest und die Bilder aus selbigen darstellt. Dabei muss auch noch der Dateiname ausgelesen und mit den str-funktionen zerschnibbelt werden um die Bild-ID auszulesen, die im Dateinamen gespeichert ist...

    Ich würde gerne wissen, ob es sinnvoller wäre, die Kategorie zusätzlich in der schon vorhandenen Datenbank zu speichern(momentan sind da Bild-Id, Url, etc gespeichert, aber nicht das Bild selbst) und von dort aus die Bilder auszulesen. Ich habe kaum Erfahrung mit Datenbanken, hab also keine Vorstellung davon, was performanter wäre. Wäre nett wenn mich da jemand beraten könnte, bevor ich das ganze Script jetzt auf Datenbank-Abfrage umschreibe. Google hat diesbezüglich nicht viel hergegeben...

    Gruss,
    Alex
    Zuletzt geändert von xserio; 14.07.2010, 00:40.

  • #2
    Hallo,

    ich frage mich gerade, wofür du die Bild-ID aus dem Dateinamen extrahieren musst, wenn du es nur anzeigen willst. Oder fragst du anhand dieser dann für jedes Bild die DB ab, um Kommentare, Bewertungen oder ähnliches abzurufen?

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Zitat von AmicaNoctis Beitrag anzeigen
      Hallo,

      ich frage mich gerade, wofür du die Bild-ID aus dem Dateinamen extrahieren musst, wenn du es nur anzeigen willst. Oder fragst du anhand dieser dann für jedes Bild die DB ab, um Kommentare, Bewertungen oder ähnliches abzurufen?

      Gruß,

      Amica
      Hi,

      ich lese nur die Ordner aus, garnicht die Datenbank. Die ID im Dateinamen lese ich aus, da ich die Bilder anhand dieser von Neu nach Alt sortieren kann...Die ID ist 100% einzigartig, da diese wiederrum aus der ID der Datenbank beim bild-upload in den Dateinamen geschrieben wird (in der DB per auto-increment aufgefüllt)

      Gruss,
      Alex

      Kommentar


      • #4
        In diesem Falle denke ich, dass dir da die Datenbank beim reinen Anzeigen der Bilder keinen Performance-Vorteil bieten könnte und der Zugriff auf das Dateisystem mit dieser Struktur schon der sinnvollste Weg ist. Die paar Stringoperationen tun nicht weiter weh – wenn du dabei auch auf Regex verzichten kannst, erst recht nicht.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          ah super, das freut mich!
          Wenn so ein Projekt viel umfangreicher wird greift man auf Datenbaken zurück? Gibt es da irgendwelche Richtlinien, ab welcher Datenmenge, oder kommt das immer ganz auf individuelle Einstellungen an?

          gruss&danke,
          alex

          Kommentar


          • #6
            Konkrete Richtlinien sind mir da nicht bekannt, aber in deinem Falle geht es um hierarchisch geordnete (User, Kategorie, …) Binärdaten (Bilder), die untereinander nicht verknüpft sind. Da drängt sich das Dateisystem praktisch auf. Sobald du aber deine User die Bilder von anderen kommentieren, bewerten oder sonstiges machen lässt, hast du Verknüpfungen, die sich im Dateisystem nur schlecht verwalten lassen und da hat dann eine Datenbank wieder die Nase vorn.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar

            Lädt...
            X