My post on the Windows SDK blog

Although the ESENT API has been available in the Windows SDK for several years, I don't think enough people are aware of it. I have a blog post on the Windows SDK blog that gives an overview of ESENT and has a tiny 'hello world' program.

Hopefully more people will start using ESENT, instead of rolling their own data storage solution (recovery and concurrency are really hard to get right).


Comments (2)

  1. Stephen Cleary says:


    I discovered your blog as a result of reading the SDK blog. I’ve been aware of ESENT for quite a while. In my spare time, I work on a managed interface to the API. I’m planning to use it as the base for exploring alternative query languages.

    I do have a question: with the rise in popularity of SQL Server CE, what do you see as the future of ESENT? You had a number of improvements in the Vista release, but is Microsoft committed to supporting this product?

    I’m sure ESENT is lighter-weight (e.g., no query parsing), it supports old platforms (2K, if you accept some minor compatibility issues), and it’s easier to redistribute (you don’t… 🙂 ). However, SQL CE has all the higher-level APIs available.

    OK, one other question: does ESENT get pre-installed on Win CE / Mobile?

    P.S. You are absolutely right in your last statement: ACID seems deceptively simple to those who have never done it. I’ve done it (at the page level) but it’s very hard to get right.

  2. I’ve also started a managed interface to the ESENT API. It is basically just p/invoke versions of the C API, so it is probably quite different than what you are doing. You can see the code on Codeplex ( I have about 10 APIs left to implement before I announce a release.

    There is no ESENT for Win CE or Mobile. ESENT isn’t acutally a good match for a lot of Win CE/Mobile devices. The reason is that they often use completely different storage technologies which mean that ESENT’s write-ahead logging system isn’t really needed. The concurrency support is possibly overkill as well.

    With two major server projects and server Windows services built using ESENT Microsoft is definitely committed to supporting and enhancing ESENT. The Windows 7 release will have several cool new features and work is continuously being done to improve performance. Right now the ESE/ESENT team is working on improving ESE for the next release of Exchange and tracking down any bugs in the Windows 7 release of ESENT. I believe that in the future ESENT will continue to be the technology for fast, zero-administration embedded storage where the application doesn’t need ad-hoc queries but does want something simple.

Skip to main content