Extensible Storage Engine
Folks, a couple of years ago I asked in here for recommendations about what lightweight in-process database I could use easily from .NET apps. I eventually settled upon SQL Server Compact Edition due to familiarity with its big brother and the footprint was quite small, just a single MSI install of a few MB of runtime files. There is another contender that no one mentioned back then... Only days ago I pinned down the existence of the Extensible http://en.wikipedia.org/wiki/Extensible_Storage_Engine Storage Engine (MSDN http://msdn.microsoft.com/en-us/library/ms684493(EXCHG.10).aspx ). I knew something like this was out there for Exchange Server storage, but I was misled by comments that it was the JET engine. The article link clarifies what JET means. It turns out that ESE is implemented in a single ESENT.DLL with a documented API, and it's an ISAM file of all things (memories of COBOL come flooding back!). It would be fabulous to be able to use ESE from .NET projects, but sadly, there is no managed wrapper around ESE, and one look at the huge C API scared me off any hobby attempts to make one. Yesterday on CodeProject I saw that someone is planning to release a managed wrapper, but it's still so early that nothing is available for download. I also saw that someone has implemented collections using ESE as the backing storage, which seems a bit pointless. Anyway, just a heads up -- Greg
RE: Extensible Storage Engine
Aha! I just went back to the page again ... I was tricked yesterday when I quickly read the ManagedEsent http://managedesent.codeplex.com/ page. I downloaded the DLL of interop and I see it has a sample console app which seems to perform some quite complex work. It looks like they've implemented a fair bit of the C API, and I can see some samples and documentation. I hope it's easy to use, as I regularly have a need for this sort of really lightweight database with little to no footprint. I'm going to send these guys an email of congratulations. Greg
Re: Extensible Storage Engine
I wanted to do a tech.ed talk on ESE but it was rejectedah, what might have been. On Sat, Aug 7, 2010 at 4:55 PM, Greg Keogh g...@mira.net wrote: Folks, a couple of years ago I asked in here for recommendations about what lightweight “in-process” database I could use easily from .NET apps. I eventually settled upon SQL Server Compact Edition due to familiarity with its big brother and the footprint was quite small, just a single MSI install of a few MB of runtime files. There is another contender that no one mentioned back then... Only days ago I pinned down the existence of the Extensible Storage Enginehttp://en.wikipedia.org/wiki/Extensible_Storage_Engine( MSDN http://msdn.microsoft.com/en-us/library/ms684493%28EXCHG.10%29.aspx). I knew something like this was out there for Exchange Server storage, but I was misled by comments that it was the JET engine. The article link clarifies what “JET” means. It turns out that ESE is implemented in a single ESENT.DLL with a documented API, and it’s an ISAM file of all things (memories of COBOL come flooding back!). It would be fabulous to be able to use ESE from .NET projects, but sadly, there is no managed wrapper around ESE, and one look at the huge C API scared me off any hobby attempts to make one. Yesterday on CodeProject I saw that someone is planning to release a managed wrapper, but it’s still so early that nothing is available for download. I also saw that someone has implemented collections using ESE as the backing storage, which seems a bit pointless. Anyway, just a heads up -- Greg -- Joseph Cooney http://jcooney.net