AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Hunderttausende Dateinamen mit Pfaden effizient in Datenbank speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Hunderttausende Dateinamen mit Pfaden effizient in Datenbank speichern

Ein Thema von Benmik · begonnen am 7. Mär 2014 · letzter Beitrag vom 8. Mär 2014
 
Furtbichler
(Gast)

n/a Beiträge
 
#11

AW: Hunderttausende Dateinamen mit Pfaden effizient in Datenbank speichern

  Alt 8. Mär 2014, 07:00
Ich verstehe die ganze Problematik nicht. Ich habe eine Liste von eindeutigen Dateinamen. Wie die im Detail aussehen, ist doch zunächst vollkommen egal.

Nun möchte ich wissen, ob sich die Datei verändert hat, um sie ggf. neu zu sichern. Da bietet sich zunächst das Archivbit an (Größe und Änderungsdatum vielleicht noch). Ein Hash... ich weiß nicht, ob es sinnvoll ist, Bestrebungen des Anwenders zu umgehen, eine Datei zu ändern, ohne das Archivbit zu setzen. Soweit ich weiß, wird das bei jeder Änderung gesetzt. Weiterhin ist das eine sehr einfache Möglichkeit, Dateien vom Archivieren auszuschließen (einfach nicht setzen bzw. zurücksetzen).

Aber gut, auch zweitrangig, wie man Änderungen feststellt. Es geht ja hier um die Frage, wie man so eine Dateiliste in einer Datenbank ablegt. Natürlich ist hier auch entscheidend, was mit der Liste angestellt werden soll, d.h. die Speicherstrategie richtet sich nach den Retrievalanforderungen.
In den meisten Fällen wird eine einfache Liste, d.h. Tabelle, am schnellsten umzusetzen und für die meisten Use Cases geeignet sein.
Allerdings kann ich mir bei einem richtig guten Backupprogramm auch vorstellen, das es Umbenennungen von Verzeichnissen und Dateien mitbekommt und seine eigene Liste entsprechend überarbeitet. Wenn man das umsetzen will und (!) wirklich sehr viele Dateien hat(> 1Mio), dann wäre ein anderes Speichermodel vielleicht sinnvoll(naheliegend: Baum). Ansonsten ist die banale Liste wirklich keine Hürde. Die Suche (auch nach Verzeichnissen) kann immer einen Index verwenden, denn man vergleicht ja den Anfang (also ein "LIKE 'FOO%'"). Mal eben 1000 Dateien umzubenennen ist nun auch keine Hürde.
Um ehrlich zu sein, würde ich noch nicht einmal eine Datenbank nehmen. Die Rechnung sieht so aus:
Maximale Anzahl der Dateien, die supported werden: 1 Mio (Beispiel)
Maximale Länge eines Dateinamens : 255 Bytes.
Benötigter Speicher dafür: 256 MB.
Wo war jetzt gleich das Problem?

Benötigst Du allerdings 100 Mio Dateien, dann solltest Du dir eine DB anschaffen, das ist logisch.

Die Dateinamen / Indizes sind eh schon komprimiert.
Aber nur RLE, was hier überhaupt nichts bringt.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz