Neues vom Datenbankpuffer

Dass der Puffer die Performance der Datenbank maßgeblich beeinflusst ist den meisten Lesern sicher bekannt, je mehr Daten der Datenbank im Hauptspeicher liegen, desto weniger Lesezugriffe auf die Storage-Einheit werden benötigt. Am besten ist es natürlich, wenn sich die gesamte Datenbank im Cache befindet. Die Übertragung der einzelnen Datensegmente in den Puffer bedingt jedoch eine Client-Anfrage, bei deren Verarbeitung diese Daten benötigt werden. Bei größeren Datenbanken dauert es daher lange, bis alle Segmente auch im Cache vorhanden sind.


Bei einer Datenbank von 50GB kann es durchaus mehrere Tage dauern, bis der Puffer komplett gefüllt ist. Nach einem Neustart des Servers ist der Cache-Inhalt allerdings verloren und der Datenbankbetrieb startet wieder bei einem leeren Puffer. Dadurch kann in der ersten Zeit nach dem Öffnen ein spürbarer Geschwindigkeitsverlust entstehen.

Zur Vermeidung dieses Effekts gibt es in Zukunft ein neues Feature des Datenbankservers, welches ein automatisches Befüllen des Caches nach dem Öffnen einer Datenbank erlaubt. Dafür gibt es zwei unterschiedliche Mechanismen, die sich pro Datenbank einzeln aktivieren lassen.

Die erste Variante sichert die Belegung des Puffers (nicht den Inhalt) beim Schließen der Datenbank in einer speziellen Datei (<datenbankname>.cache). Beim Öffnen der Datenbank wird diese Datei auf Gültigkeit geprüft und anschließend erfolgt das Einlesen aller Segmente, die sich zuletzt im Cache befanden. Die Operation liest die Datenblöcke in sequentieller Reihenfolge aus der Datenbank, um eine möglichst hohe Transferrate zu erzielen. Dieses Verfahren ist auch bei kleinen und mittleren Cachegrößen sehr effizient.

Sofern keine Pufferbelegung gespeichert ist, führt die zweite Variante ein vollständiges Lesen der gesamten Datenbank durch. Unter Berücksichtigung der Zugriffshäufigkeit wird der Cache dabei entsprechend gefüllt. Ist der Puffer größer als die Datenbank, so werden alle Daten in den Cache transferiert, bei kleinerem Puffer zumindest die häufiger benötigten Segmente.

Die Erweiterung wird in einem der nächsten Updates der 5.7 zur Verfügung stehen.

Klicken Sie hier, um die Nutzungsbedingungen für unseren Blog zu lesen.

2 Antworten

  1. Idealerweise stehen im Cache die Daten mit den höchsten Zugriffshäufigkeiten – in diesem Fall wird der höchste Geschwindigkeitszuwachs erzielt.

    Diese Werte verändern sich während des Datenbankbetriebs ständig, eine Vorhersage anhand des Inhaltstyps ist sehr spekulativ. Aufgrund der Struktur der Datenbank und empirischen Messungen ergibt sich eine klare Häufigkeitsverteilung nach Segmenttyp. Die Ziffern geben die Anzahl von Zugriffen innerhalb eines Messintervalls an:

    Blattsegmente: 1 bis 100
    Knotensegmente: 50 bis 3000
    Wurzelsegmente: 1000 bis 20000

    Eine manuelle Proritätsvergabe würde die Cacheleistung eher negativ beeinflussen.

  2. Wäre es vielleicht sinnvoll, das man die Cache-Priorität vorgeben kann um z.B. Konstanten-Dateien, Prozduren, Oberflächenobjekte usw bevorzugt zu laden ?

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Leave the field below empty!

Wünsche, Fragen oder Feedback sind willkommen:

Nutzungsbedingungen der Kommentarfunktion im Blog

1. Allgemeines

Vectorsoft AG („Anbieter“) stellt für Internetnutzer („Nutzer“) auf der Website
vectorsoft.de einen öffentlichen Blog bereit. Der öffentliche Blog dient dem
Informations- und Gedankenaustausch. Die Nutzer, welche sich mit Beiträgen und
Kommentaren beteiligen, verpflichten sich dazu, die Blog-Nutzungsbedingungen
einzuhalten und tragen die Verantwortung für die Richtigkeit und Angemessenheit
sowie Freiheit von Rechtsverletzungen ihrer Beiträge. Mit Nutzung der
Kommentarfunktion in unserem Blog akzeptieren Sie diese Nutzungsbedingungen.

2. Netiquette

Wir bitten Sie von persönlichen Angriffen und Provokationen aufgrund anderer
Meinungen abzusehen. Bitte argumentieren Sie sachlich und bewegen Sie sich auf
der Basis einer konstruktiven Diskussionskultur. Ihr Kommentar sollte stets im
Zusammenhang mit dem jeweiligen Thema sein, um Ausschweifungen in andere
Themenbereiche zu vermeiden. Das mehrmalige Posten desselben Kommentars
oder mehrerer ähnlicher Kommentare ist nicht erlaubt.

3. Verbot rechtswidriger Inhalte

Mit Absenden Ihres Kommentars bestätigen Sie, dass Sie keine Urheberrechte oder andere Rechte Dritter verletzen. Volksverhetzende, rassistische Äußerungen, Anleitungen zu Straftaten und deren Verherrlichung, Gewaltdarstellungen, pornografische Inhalte und Äußerungen, die Persönlichkeitsrechte verletzen sind untersagt.

4. Keine Werbung

Die Nutzung der Kommentarfunktion ist für kommerzielle oder parteipolitische
Zwecke nicht erlaubt. Werbliche Beiträge aller Art werden von uns umgehend
gelöscht.

5. Angaben zum Namen

Bei der Eingabe Ihres Namens achten Sie auf die zuvor genannten Grundsätze.

6. Quellenangaben

Bitte geben Sie bei der beabsichtigten Veröffentlichung von Zitaten oder Beiträgen
Dritter die jeweiligen Quellen an und erläutern dessen Bezug zum Blogbeitrag.

7. Verstoß gegen die Nutzungsbedingungen

Beiträge, die gegen diese Richtlinie verstoßen werden umgehend gelöscht. Sollten
Sie selbst Verstöße bemerken, so senden Sie uns bitte den Link des betreffenden
Kommentars per E-Mail an . Wir weisen ausdrücklich daraufhin, dass wir einzelne Nutzer bei wiederholten oder schweren Verstößen gegen diese
Nutzungsbedingungen ausschließen werden.

Stand: Sept. 2024

Deine Trial Version - jetzt anfordern!

Teste yeet - unverbindlich und kostenfrei

IHRE EVALUIERUNGSLIZENZ - JETZT ANFORDERN!

TESTEN SIE DIE CONZEPT 16 VOLLVERSION - UNVERBINDLICH und KOSTENFREI

Melden Sie sich bei unserem Newsletter an

Anrede*
     
Zustimmung zur Datenverarbeitung gem. DSGVO*



WordPress Cookie-Hinweis von Real Cookie Banner