Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

Was macht Datenbanken so schnell?

  Alt 3. Jun 2010, 16:04
Hallo zusammen,

im Endeffekt sind Datenbanken doch nichts anderes als Dateien, die auf Festplatten liegen. Dennoch sind Datenbanken deutlich schneller, als wenn Schreib- und Lesezugriffe manuell über Dateizugriffe erfolgen würden.

Was macht den Datenbanken so schnell?

Folgendes könnte ich mir vorstellen:
  • Suchanfragen werden durch verschiedene Indizes beschleunigt (gut, das ist Fakt)
    Wobei die Indizes wohl auch in Dateien abgelegt sind, auf die zugegriffen werden muss.
  • Lesevorgänge könnten schnell sein, wenn die Datenbank eine gewisse Intelligenz aufweist und vorab einige Dinge im RAM puffert und aus diesem ausliest.
    Aber das kann bei großen Datenmengen nicht sein. Gut, die Indizes könnten teilweise im RAM gepuffert werden.
  • Schreibzugriffe auf Dateien sind eigentlich nur dann flott, wenn eine Datei einmalig geöffnet wird und sämtliche Schreibzugriffe dann erfolgen, da die Betriebssysteme hier die Daten im RAM puffern und die Festplatte ebenfalls in ihrem Cache. Bei einem Absturz wären die Daten jedoch verloren, wenn die Datei nicht zuvor geschlossen wurde.
    Und bei Datenbanken sind die Daten nach dem Schreibvorgang zuverlässig vorhanden.
Was also macht Datenbanken so schnell?

Grüße, Matze
  Mit Zitat antworten Zitat