In-Memory-Datenbanksysteme und -Technologien

Anwendungsbereich: JaSQL Server (alle unterstützten Versionen)

Diese Seite ist als Referenzseite für In-Memory-Features und -Technologien in SQL Server gedacht. Ein In-Memory-Datenbanksystem ist ein Datenbanksystem, das so konzipiert ist, dass es die in modernen Datenbanksystemen verfügbaren größeren Arbeitsspeicherkapazitäten nutzt. In-Memory-Datenbanken können relational oder nicht relational sein.

Häufig wird angenommen, dass die bessere Leistung von In-Memory-Datenbanksystemen hauptsächlich darauf zurückzuführen ist, dass auf Daten im Arbeitsspeicher (um ein Vielfaches) schneller zugegriffen werden kann als auf Daten auf dem schnellsten Datenträgersubsystem. Allerdings passt bei vielen SQL Server-Arbeitsauslastungen der gesamte Arbeitssatz in den verfügbaren Arbeitsspeicher. Viele In-Memory-Datenbanksysteme können Daten persistent auf Datenträgern speichern, und möglicherweise passt nicht immer das gesamte Dataset in den verfügbaren Arbeitsspeicher.

Bei Arbeitsauslastungen von relationalen Datenbanken ist ein schneller flüchtiger Cache vor deutlich langsameren, aber langlebigen Medien üblich. Hierfür sind bestimmte Ansätze bei der Arbeitsauslastungsverwaltung erforderlich. Die Möglichkeiten, die sich durch schnellere Übertragungsraten von Arbeitsspeichern, größere Kapazität oder sogar persistenten Speicher ergeben, erleichtern die Entwicklung von neuen Features und Technologien, die neue Ansätze für die Arbeitsauslastungsverwaltung von relationalen Datenbanken vorantreiben können.

Hybrider Pufferpool

Anwendungsbereich: JaSQL Server (alle unterstützten Versionen)

Bei einem hybriden Pufferpool wird der Pufferpool für Datenbankdateien, die auf byteadressierbaren Speichergeräten mit persistentem Speicher liegen, für Windows- und Linuxplattformen mit SQL Server 2019 (15.x) erweitert.

Speicheroptimierte tempdb-Metadaten

Anwendungsbereich: JaSQL Server (alle unterstützten Versionen)

Mit SQL Server 2019 (15.x) wird eine neue Funktion für speicheroptimierte tempdb-Metadaten eingeführt, durch die einige Engpässe aufgrund von Konflikten effektiv behoben werden und sich eine neue Ebene der Skalierbarkeit für tempdb-intensive Workloads ergibt.

In-Memory-OLTP

Anwendungsbereich: JaSQL Server (alle unterstützten Versionen)

In-Memory-OLTP ist eine in SQL Server und SQL-Datenbank verfügbare Datenbanktechnologie für die Optimierung der Transaktionsverarbeitung, des Erfassens und Ladens von Daten sowie vorübergehender Datenszenarios.

Unterstützung für persistenten Speicher konfigurieren unter Linux

Anwendungsbereich: JaSQL Server (alle unterstützten Versionen) : Linux

SQL Server 2019 (15.x) beschreibt, wie Sie persistenten Speicher unter Verwendung des persistenten Speichers des Hilfsprogramms ndctl konfigurieren.

Persistenter Protokollpuffer

Mit dem Service Pack 1 von SQL Server 2016 (13.x) wurde die Leistung bei schreibintensiven Arbeitsauslastungen, die mit WRITELOG-Wartevorgängen verbunden waren, optimiert. Der Protokollpuffer wird im persistenten Speicher gespeichert. Dieser kleine Puffer (20 MB pro Benutzerdatenbank) muss auf einen Datenträger geleert werden, damit die im Transaktionsprotokoll erfassten Transaktionen festgeschrieben werden. Bei schreibintensiven OLTP-Arbeitsauslastungen kann dieser Leerungsmechanismus zu einem Engpass werden. Mit dem Protokollpuffer im persistenten Speicher wird die Anzahl von für das Festschreiben des Protokolls erforderlichen Vorgängen verringert, wodurch die Gesamtdauer von Transaktionen optimiert und die Leistung der Arbeitsauslastungen verbessert wird. Dieser Prozess wurde ursprünglich als Tail of Log Caching (Protokollfragmentzwischenspeicherung) eingeführt. Dies wurde allerdings als Widerspruch zur Protokollfragmentsicherung sowie zu der traditionellen Auffassung, dass ein Protokollfragment der Teil eines Transaktionsprotokolls ist, der festgeschrieben, aber noch nicht gesichert wurde, wahrgenommen. Da die offizielle Bezeichnung für das Feature „Persisted Log Buffer“ (persistenter Protokollpuffer) ist, wird diese Bezeichnung hier verwendet.

Weitere Informationen finden Sie unter Hinzufügen eines persistenten Protokollpuffers zu einer Datenbank.