blog

.NET C# Wrapper for Berkely DB Now Available

[UPDATE: Reading through the readme.html I noticed this:
All CLS compliant .NET languages are supported.
So I guess you should scratch the C# and replace it with: EVERYTHING! :)]

[Original Post]
Jeff Rafter recently sent me an email to inform me of the above titled project a friend of his developed. This needs to get out on every wire I can possibly send it out on as this is WAY TOO COOL!!!! The body of his email is as follows:
I thought you might find this one interesting: a friend of mine wrote a C#/.NET 2.0 wrapper for Berkley DB. It supports XPath 2.0 and XQuery… so I thought it might be of interest to you. http://sf.net/projects/libdb-dotnet
For those of you unaware (which I doubt is all that many, but you never know) Berkley DB is a well beloved open source DB which as of the last year or so provides direct support for XQuery. So, in essence, not only do you have open source .NET-accessible client-side XQuery support via Saxon.NET, but (even better!) you can now access a Berkley DB (from SleepyCat Software) which is (more than likely anyway) going to be quite a bit faster as well as the fact that its a full-fledged DB which Saxon.NET obviously is not. Don’t get me wrong… Obviously as the developer of the Saxon.NET project I’m not trying to put it down in anyway, but knowing one’s strengths and weaknesses is an important part of understanding when to use what tool and why. For accessing raw XML in a .NET-based application, Saxon.NET would be a good choice.

However, if your needs include an open source .NET-accessible client-side (or server side for that matter) DB with a proven track record of performance and reliability, then the above linked project is obviously something you should take interest in.

As an extended note, for non-open source XQuery-enabled .NET-accessible DB’s your options would include SQL Server 2005, SQL Server Express, and DataDirect. If I’m missing any that you know about, please either let me know or simply leave a comment.

Thanks for the info Jeff!

[NOTE: Not sure if this project supports Mono (if it doesn’t, given that its open source, it shouldn’t be all that long before it does), but I will find out and update this post accordingly]