![]() |
Was macht Datenbanken so schnell?
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:
Grüße, Matze |
Re: Was macht Datenbanken so schnell?
Hallo,
hast es ja schon fast alles alleine beantwortet ;) Zitat:
dann werden nur die geänderten Bereiche geschrieben, die DB bleibt offen. Heiko |
Re: Was macht Datenbanken so schnell?
Hinzu kommt ja meistens auch noch, daß die Datenbank-Software exklusiven Zugriff auf die Datei(en) hat und sich nicht mit anderen Anwendungen darum streiten muss.
|
Re: Was macht Datenbanken so schnell?
Danke für die Antworten.
Dann ist es an sich gar nichts so ungewöhnliches. Ich habe nun ein super tolles Verfahren dahinter erwartet. *g* |
Re: Was macht Datenbanken so schnell?
Zitat:
Dazu kommt noch geschicktes Parsen und verteilen der Daten in den Dateien bzw. auf der Festplatte. |
Re: Was macht Datenbanken so schnell?
Zitat:
Zitat:
Zitat:
|
Re: Was macht Datenbanken so schnell?
Zitat:
|
Re: Was macht Datenbanken so schnell?
Zitat:
Aber "wenig auf Festplatte machen" heisst ja auch nicht automatisch nur nen Cache zu nuzten, sondern auch die Algorithmen so zu verbessern, dass die nur ein Minimum in den Dateien "rumsuchen" muessen (eben Indizies, etc.). @Bernhard Geyer: Wow, das nenn ich mal Inside-Infos. Haette nicht gedacht, dass eine Enterprise-Loesung solche Probleme hat. |
Re: Was macht Datenbanken so schnell?
Zitat:
|
Re: Was macht Datenbanken so schnell?
Zitat:
|
Re: Was macht Datenbanken so schnell?
Zitat:
Eine Datenbank ohne Lesecache ist in etwa so schnell wie etwas Selbstgefrickeltes. Unterschiede machen sich dann nur in der Verwendung undokumentierte API-Routinen (MSSQL, Scatter/Gather-IO) oder der Reservierung von Resourcen (Oracle, eigene Beobachtungen) bemerkbar. Wie Matze schon eingangs erwähnte, kann eine DB ohne Lesecache (oder direkt nach einem Neustart) nicht sonderlich schnell sein, denn Daten müssen über das Bottleneck File-IO erstmal gelesen werden. Mittlerweile sind sich die meisten DBMS hinsichtlich ihrer in-Memory Performance relativ ähnlich, nur wenn es richtig viele Daten sind, trennen sich Spreu von Weizen. Zitat:
Ich glaube wir sind uns hier im Grunde einig, nur der Terminus "Parser" hat mir nicht gepasst, denn der ist ja ziemlich doof und erzeugt nur einen Syntaxbaum. Und das ist garantiert kein Bottleneck. |
Re: Was macht Datenbanken so schnell?
Zitat:
Mit MMFs und einer cleveren Dateistruktur kann man auch ohne echte Datenbanken eine gute Geschwindigkeit hinbekommen. Das lohnt sich für größere Datenmengen einfach kaum um Vergleich zu DBs, da der Aufwand viel zu groß wird, aber eine JIT-Filterung direkt bei der Eingabe in ein Edit habe ich auch bei mehreren tausend Datensätzen in unter 10 Millisekunden hinbekommen inklusive Anzeige als Tabelle und inkl. Farbhighlighting. Das sind natürlich ganz andere Datenmengen als bei professioneller Verwendung von DBs auftreten, so dass man da noch ganz andere Probleme bekäme, wenn man das selbst machen wollte. Aber gerade bei kleinen Hobbytools sehe ich schon öfter, dass einfach nicht gut optimiert wird und dadurch dann die Geschwindigkeit so schlecht ist. Denn bei kleineren Datenmengen sind echte DBs nicht unbedingt schneller als eine gut optimierte Eigenlösung. (Aber einfacher. :mrgreen:) Und was den Dateizugriff an sich angeht: Mit meinem Registryeditor lese ich zeichenweise die INI-artigen Registrydateien ein. Inklusive Einlesen und Anzeige komme ich da etwa auf die halbe Maximalgeschwindigkeit der Festplatte, bei mir z.B. mit SSD auf 90 MiB/s, so dass z.B. eine 350 MiB Datei in 5 Sekunden komplett analysiert und angezeigt ist, mit einer echten Festplatte in ca. 9-15 Sekunden (je nach Rechner). ;-) |
AW: Re: Was macht Datenbanken so schnell?
Zitat:
|
AW: Was macht Datenbanken so schnell?
Ist es also bei Oracle auch so wie bei EB/CG, dass Fehler nur in neueren Versionen behoben werden
|
AW: Was macht Datenbanken so schnell?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 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 by Thomas Breitkreuz