In-Memory-Datenbanksysteme und -Technologien

Gilt für: SQL 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

Gilt für: SQL 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

Gilt für: SQL Server (alle unterstützten Versionen)

SQL Server 2019 (15.x) führt ein neues Feature ein, das speicheroptimierte tempdb-Metadaten ist, wodurch einige Inhaltsengpässe effektiv entfernt und eine neue Skalierbarkeit für tempdb-schwere Workloads entsperrt wird.

Weitere Informationen zu den neuesten tempb Verbesserungen, einschließlich speicheroptimierter Metadaten in SQL Server 2019 (15.x) und neueren Features, finden Sie unter System page Latch Concurrency Enhancements (Ep. 6) | Daten verfügbar gemacht.

In-Memory-OLTP

Gilt für: SQL 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

Gilt für: SQL 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.