Sie sind hier:
Lexikon/Glossar
Telefon (Mo-Fr 9-16 Uhr):
0201/649590-0
|
Kontaktformular
MENU
Start
Hauptseite
Angebote im Überblick
Kernkompetenzen
Softwareentwicklung
Beratung
Firmen-Schulungen
Offene Seminare
Online-Maßnahmen
Vorträge
Coaching
Support
Fachbücher
Fachartikel
Konditionen
Themen
Kernkompetenzen
Aktuelle Themen
Web & Cloud
Apps / Mobilplattformen
Benutzeroberflächen / User Experience
.NET
JavaScript / TypeScript
Java
Programmiersprachen
Entwicklungswerkzeuge
Scripting
Softwareengineering
Datenbanken / Reporting / BI
Betriebssysteme & Virtualisierung
Microsoft Server-Produkte
Windows & Office für Anwender
Soft Skills & IT-Recht
Beratung
Beratungsthemen
Coaching
Softwareentwicklung
Technischer Support
Unsere Top-Berater
Referenzkunden
Angebotsanfrage
Individuelle Schulungen
1026 Schulungsthemen
Agendakonfigurator
Weiterbildungsphilosophie
Didaktische Konzepte
Vor Ort oder online
Unsere Top-Trainer
Referenzkunden
Teilnehmerfeedback
Angebotsanfrage
Offene Seminare
.NET-Akademie
.NET/C#-Basisseminar
WPF
WinUI
.NET MAUI
Blazor
ASP.NET WebAPI & gRPC
Entity Framework Core
Unit Testing / TDD
PowerShell
Infotage
Wissen
Übersicht
Fachbücher
Fachartikel
Konferenzvorträge
Konferenzen/Events
Spickzettel
Lexikon/Glossar
Programmcodebibliothek
Versionshistorie
Weblog
Downloads
Newsletter
Community-/Leserportal
Registrierung
.NET/C#/Visual Studio
.NET 10.0
.NET 9.0
.NET 8.0
ASP.NET (Core)/Blazor
PowerShell
Über uns
Kontakt
Selbstdarstellung
Kernkompetenzen
Dr. Holger Schwichtenberg
Top-Experten
Leitung & Kundenteam
Referenzkunden
Kundenaussagen
Referenzprojekte
Partner
Konditionen
Stellenangebote
Weitere Websites
Impressum
Datenschutzerklärung, Haftung, Urheberrecht, Barrierefreiheit
Suche
Themenkatalog
Tag Cloud
Volltextsuche
Site Map
FAQs
Erklärung des Begriffs: Memory-Optimized Table
Zur Stichwortliste unseres Lexikons
Was ist
Memory-Optimized Table
?
Die größte Neuerung in Version 2014 ist die unter dem Code-Namen „
Hekaton
“ erstmal auf dem PASS Summit 2012 in Seattle angekündigte komplett neue
Storage
-Engine, die Microsoft nun Extreme Transactional Processing (XTP) und In-Memory OLTP nennt.
XTP ermöglich als Alternative zu den herkömmlichen Tabellen nun auch sogenannte „speicheroptimierte Tabellen“ (Memory-Optimized Tables). Der primäre Speicherort dieser Tabellen ist das RAM des
Datenbank
servers. Alle Lese- und Speicheroperationen finden primär im Hauptspeicher statt und sind entsprechend performant. Gleichwohl persistiert der
SQL Server
eine Kopie der Daten auf dauerhaften Speichermedien. In speziellen Szenarien (z.B.
Sitzungszustand
in Websites) besteht auch die Möglichkeit, komplett auf die Datenspeicherung auf Festplatte zu verzichten. Für solche „Schema-Only“-definierten Tabellen finden keine I/O-Operationen mehr statt.
Eine speicheroptimierte Tabelle erzeugt der Nutzer mit den Zusätzen CONTAINS MEMORY
OPTIMIZED_DATA beim Erstellen mit einer Filegroup und
WIT
H (MEMORY
OPTIMIZED=ON) beim Anlegen einer
Datenbank
tabelle. Um auf diese Tabellen zuzugreifen, ist häufig keine Änderung in der Anwendung erforderlich. Bestehende SQL-Datenzugriffsanweisungen funktionieren wie bisher, solange die Tabellenstruktur sich nicht ändert. Eine Änderung der Tabellenstruktur kann aber notwendig sein, da nicht alle Datentypen und Eigenschaften beim In-Memory-OLTP verfügbar sind. Das gilt zum Beispiel für den
XML
-Spaltentyp sowie die Geodaten-Typen GEOMETRY und GEOGRAPHY.
Solche speicheroptimierten Tabellen können auch für
Variable
n in SQL-Skripten und als Tabellenwertparameter für Stored Procedures zum Einsatz kommen. Speicheroptimierte Tabellen bieten zwei neue Index-Typen:
Hash
-Indexe und Range-Indexe, die auf einem Bw-Tree basieren. Eine spezielle Eigenart dieser beiden Index-Typen ist, das
SQL Server
diese abseits ihrer Definition niemals auf der Festplatte speichert und somit das I/O-Subsystem wesentlich entlasten. Für weitere Optimierungen im I/O-Bereich sorgt der ausschließlich sequentielle Zugriff auf die neuen
Datenstruktur
en – im Gegensatz zu dem sonst bekannten Random Access auf Datendateien. Das vereinfacht die Optimierung des darunterliegenden
Storage
systems wesentlich.
Verbesserungen in
SQL Server
2017
Seit
SQL Server
2014 bietet
SQL Server
sogenannte Memory-Optimized Tables. In
SQL Server
2017 nun kann der Entwickler hierbei auch berechnete Spalten verwenden. Auch die Verwendung der Funktion Is
JSON
() in Constraints ist in Memory-Optimized Tables jetzt erlaubt, um durchzusetzen, dass eine Zeichenkettenspalte gültige
JSON
-Daten enthält (siehe Listing).
n dieser Memory-Optimized Table ist Details
JSON
eine
JSON
-Spalte und AlleDaten eine berechnete Spalte:
CREATE TABLE [dbo].[Kunde](
[ID] [int] NOT NULL,
[Kundenname] [nvarchar](50) NULL,
[Datum] [datetime2](7) NULL,
[Details
JSON
] nvarchar(4000),
AlleDaten AS concat_ws(';',[ID],[Kundenname],[DATUM]) PERSISTED,
CONSTRAINT [PK_Kunden] PRIMARY KEY NONCLUSTERED ([ID] ASC),
CONSTRAINT [Details
JSON
should be formatted as
JSON
]
CHECK (IS
JSON
([Details
JSON
])=1),
)
WIT
H (MEMORY_OPTIMIZED=ON )
GO
Querverweise zu anderen Begriffen im Lexikon
Sitzungszustand
Datenstruktur
SQL Server
Datenbank (DB)
Variable
Hekaton
Storage
Hash
JavaScript Object Notation (JSON)
Work Item Types (WIT)
Extensible Markup Language (XML)
Beratung & Support
Anfrage für Beratung/Consulting zu MEMORY-OPTIMIZED TABLE
Gesamter Beratungsthemenkatalog
Technischer Support zum MEMORY-OPTIMIZED TABLE
Schulungen
Microsoft SQL Server 2017 - Die Neuerungen gegenüber SQL Server 2016 (Update-Schulung)
Anfrage für eine individuelle Schulung zum Thema MEMORY-OPTIMIZED TABLE
Gesamter Schulungsthemenkatalog
Fachbücher
Blazor 10.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 10.0, C# 14.0 und Visual Studio 2026
C# 14.0 Crashkurs
Moderne Datenzugriffslösungen mit Entity Framework Core 10.0
.NET 10.0 Update: Die Neuerungen in .NET 10.0 gegenüber .NET 9.0
Blazor 9.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 9.0, C# 13.0 und Visual Studio 2022
C# 13.0 Crashkurs
Cross-Plattform-Apps mit .NET MAUI entwickeln
Moderne Datenzugriffslösungen mit Entity Framework Core 9.0
.NET 9.0 Update: Die Neuerungen in .NET 9.0 gegenüber .NET 8.0
PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
.NET 8.0 Update: Die Neuerungen in .NET 8.0 gegenüber .NET 7.0
Concurrency with Modern C++: What every professional C++ programmer should know about concurrency
C++20: Get the Details
Blazor 8.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 8.0, C# 12.0 und Visual Studio 2022
Moderne Datenzugriffslösungen mit Entity Framework Core 8.0
C# 12.0 Crashkurs
App-Entwicklung für Mobile und Desktop: Software Engineering mit .NET MAUI und Comet für iOS, Android, Windows und macOS
Cross-Plattform-Apps mit .NET MAUI entwickeln
Blazor 7.0: Blazor WebAssembly, Blazor Server und Blazor Hybrid
C# 11.0 Crashkurs
Moderne Datenzugriffslösungen mit Entity Framework Core 7.0
PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
C++ Core Guidelines Explained: Best Practices for Modern C++
App Engineering: SwiftUI, Jetpack Compose, .NET MAUI und Flutter
Vue.js 3 Crashkurs
Moderne Datenzugriffslösungen mit Entity Framework Core 6.0
Blazor 6.0: Blazor WebAssembly, Blazor Server und Blazor Desktop
C# 10.0 Crashkurs
Cross-Plattform-Apps mit Xamarin.Forms entwickeln
Developing Web Components with TypeScript: Native Web Development Using Thin Libraries
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr