Live data from Hacker News

ESE: The server-grade, embedded DB ships with Windows

github.com

11–20 of 39 posts

Re: ESE: The server-grade, embedded DB ships with Windows

#11
post #4

Oh, so this is source code for "JET blue" under MIT license. For now without comments, tests and build scripts - but that's comming. Looks a bit like Microsoft's c++ toolkit that serves a similar use as lmdb, I guess? (although jet seems to do more than "just" db). https://symas.com/lmdb/

Looks like it's slightly more abstract than LMDB, in LMDB you're given sub-databases on which to implement your own index, this sounds like it handle some of the boilerplate as part of the framework. The mention of support for schemaless in the README suggests it might possibly also define row structures and stuff like that

Re: ESE: The server-grade, embedded DB ships with Windows

#15
I love perusing different MS open-source codebases, just to see all the different conventions, styles, and practices used by different teams across the company.

This repo in particular sure shows its age, because just clicking around, this code is totally nonsensical to me, haha. I couldn't even make a guess as to what it's doing.

https://github.com/microsoft/Extensible-Storage-Engine/blob/...

Re: ESE: The server-grade, embedded DB ships with Windows

#16

I love perusing different MS open-source codebases, just to see all the different conventions, styles, and practices used by different teams across the company. This repo in particular sure shows its age, because just clicking around, this code is totally nonsensical to me, haha. I couldn't even make a guess as to what it's doing. https://github.com/microsoft/Extensible-Storage-Engine/blob/...

Isn't that obvious?

https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...

Re: ESE: The server-grade, embedded DB ships with Windows

#17

I love perusing different MS open-source codebases, just to see all the different conventions, styles, and practices used by different teams across the company. This repo in particular sure shows its age, because just clicking around, this code is totally nonsensical to me, haha. I couldn't even make a guess as to what it's doing. https://github.com/microsoft/Extensible-Storage-Engine/blob/...

As well as stripping comments, did they also strip and replace variable names? This code reminds me of trying to grok autogenerated Java GUI code in CS101.

Re: ESE: The server-grade, embedded DB ships with Windows

#18
post #2

https://en.wikipedia.org/wiki/Extensible_Storage_Engine https://en.wikipedia.org/wiki/Microsoft_Jet_Database_Engine

I thought this was the Jet of MS Access but they call that JET Red.

From the ESE wiki page:

> For JET Red storage engine of Microsoft Access, see Microsoft Jet Database Engine.

> Extensible Storage Engine (ESE), also known as JET Blue, is an ISAM (indexed sequential access method) data storage technology from Microsoft. ESE is the core of Microsoft Exchange Server, Active Directory, and Windows Search. It's also used by a number of Windows components including Windows Update client and Help and Support Center. Its purpose is to allow applications to store and retrieve data via indexed and sequential access.

> ESE provides 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. Transactions in ESE are highly concurrent making ESE suitable for server applications. ESE caches data intelligently to ensure high performance access to data. In addition, ESE is lightweight making it suitable for auxiliary applications.

> The ESE Runtime (ESENT.DLL) has shipped in every Windows release since Windows 2000 [...]

I was wondering how that might fare with the SQL Server edition meant to be bundled with apps. Besides being non-SQL seems it could be lighter keeping transactions and concurrency.

Re: ESE: The server-grade, embedded DB ships with Windows

#19

I know this as ESENT (since this is apparently the name of the .dll). Good to know it's still around! I saw this used as the "we really need to plug this performance hole" caching solution on a web server. Without knowing too much about how well it did, I have to assume it does especially well in combination with IIS? Would be interesting to find out how tightly coupled these benefits, if any, are.

I believe the original RavenDB was based on ESE (ESENT).

Re: ESE: The server-grade, embedded DB ships with Windows

#20
post #13

IIRC this storage engine used to have a 2GB limit, but it did not properly check this limit and would corrupt itself if you tried to store too much. This caused problems for Exchange, Outlook, the ironically named Visual Source Safe, and probably others.

This explains ONE of the causes of corruption of PST files back in the day.
Post reply on HN