Extensible Storage Engine (ESE)

Eintrag zuletzt aktualisiert am: 22.02.2021


Extensible Storage Engine (ESE) ist eine Datenbank, die Microsoft seit vielen Jahren in Windows, Exchange Server u.a. Produkten einsetzt. Sie ist seit Februar 2021 Open Source (https://github.com/microsoft/Extensible-Storage-Engine)

Extensible Storage Engine (ESE) ist eine Variante der Joint EngineTechnology (JET), alias JET Blue.
Einsatzgebiete:
  • Exchange Server
  • Active Directory
  • SharePoint Portal Server
  • Index Server
  • Windows Desktop-Suche

JET Red hingegen ist die Datenbank in Microsoft Access.

Links
Quellecode von ESE alias JET Blue:
https://github.com/microsoft/Extensible-Storage-Engine

Dokumentation:
https://docs.microsoft.com/en-us/windows/win32/extensible-storage-engine/extensible-storage-engine

Hintergrund
Der Grund für den Einsatz von JET anstelle einer Microsoft SQL Server-Datenbank in den o.g. Serverprodukten lag darin, dass der Microsoft SQL Server-Datenbank leere Spalten nicht effizient speichern konnte. ESE verfügt aber über das Feature "Sparse Columns" mit denen leeren Spalten keinen physikalischen Platz verbrauchen. Erst mit SQL Server 2008 wurde Microsoft dies auch für den SQL Server einführen und damit die Grundlage gelegt, um das Active Directory und Exchange Server zukünftig mit SQL Server als Datenbank zu betreiben. Der Wechsel auf SQL Server ist dann aber doch nicht so vollzogen worden, wie einst geplant :-(

ESE-Features (Quelle: https://github.com/microsoft/Extensible-Storage-Engine)
ESE enables applications to store data to, and retrieve data from tables using indexed or sequential cursor navigation. It supports denormalized schemas including wide tables with numerous sparse columns, multi-valued columns, and sparse and rich indexes. ESE enables applications to enjoy a consistent data state using transacted data update and retrieval. A crash recovery mechanism is provided so that data consistency is maintained even in the event of a system crash. ESE provides ACID (Atomic Consistent Isolated Durable) transactions over data and schema by way of a write-ahead log and a snapshot isolation model.

Active Directory-Datenbank
ntds.dit in %SYSTEMROOT%\NTDS