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