RE: Extensible Storage Engine

2010-08-08 Thread Greg Keogh
I wanted to do a tech.ed talk on ESE but it was rejectedah, what might
have been.

 

Ah! The pillocks.

 

Anyway, I've read the samples, some of the source code and some of the
documentation and I think they CodePlex team have done a really neat job on
wrapping esent.dll in a friendly way that has a nice .NET coding style. You
can quick start with the generic dictionary which has ESE as the backing
store, or you can use the Api.XXX methods and disposable class wrappers.

 

I can see now that ESE is a rather classical ISAM implementation. You have
familiar tables and columns with indexes and you can search EQ, GE or LE and
read sequentially, but not much more than that. It really takes me back to
mainframe ISAM (and VSAM) files, which in their day were pretty powerful and
we built a lot of gigantic applications over them. I remember going to a
database conference in 1986 and the hot subject was this new fangled thing
called relational databases.

 

I am quite sure that I will use managed ESENT in real apps quite soon. Like
UDP and T4, I reckon it's one of those hidden gems.

 

Greg



Re: Extensible Storage Engine

2010-08-08 Thread silky
On Sun, Aug 8, 2010 at 5:23 PM, Greg Keogh g...@mira.net wrote:

[...]

 I am quite sure that I will use managed ESENT in real apps quite soon. Like
 UDP and T4, I reckon it’s one of those hidden gems.

What is UDP? Or are you referring to the protocol?


 Greg

-- 
silky

http://dnoondt.wordpress.com/

Every morning when I wake up, I experience an exquisite joy — the joy
of being this signature.


Extensible Storage Engine

2010-08-07 Thread Greg Keogh
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

2010-08-07 Thread Greg Keogh
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

2010-08-07 Thread Joseph Cooney
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