Andreas Korthaus: IP's von access_log in bestimmtem Zeitfenster extrahieren

Beitrag lesen

Hi Philipp!

Versteh ich das richtig dass Du eine Logdatei mit Deinem Programm dann speziell auswerten willst? Also öfter und nicht nur einmal?
Dann würde ich evtl. daran denken optimierte Datenquellen zu erstellen, je nachdem was Du so brauchst, z.B. für jeden Tag eine Datei, dann brauchst Du schonmal nicht mehr nach dem Datum suchen, und/oder nach Host-Adresse... dann hast Du zwar ein paar mehr Dateien, nur denke ich das würde erheblich schneller sein als immer 2GB zu durchsuchen, wobei ich nicht weiß wie das mit deiner Baum-Suche so aussieht, nur ist das Filesystem dann auch so eine Art Baum, musst Du halt probieren. Vielleicht kannst Du im Quelltext  einer RDBMS mal nachgucken wie die das machen, da werden die Daten ja auch in Textdateien gespeichert, vielleicht kannst Du Dir da was abgucken.

2. Möglichkeit wäre direkt eine Datenbank zu verwenden, mit entsprechend indices, halt für jede Suche speziell optimierte.

Ich denke nicht dass Du bei der Menge Daten den Algorithmus einer Datenbank die hierfür ja optimiert ist schlagen könntest. Ich habe das schon bei 1MB deutlich zu spüren bekommen.

Aber vermutlich bin ich nicht der richtige Ansprechpartner wens um performante parsen von Flat-Files geht ;-)

Viele Grüße
Andreas