- Hunting a Performance Bottleneck
- The Curse of Resource Utilization
- Cache: It Ain't Just Remembering Stuff
Thanks for talking to us! What have you been working on lately?
You're working on Voron, a managed port of LMDB. How is Voron an improvement over LMDB, and how do you plan to use it?
LMDB is a great DB, but being unmanaged means that the support burden that it carries is pretty high. We like to take ownership of our entire stack. And that is part of the reason why we started working on our own storage engine in the first place. Another aspect of that is that we have very different needs than what LMDB is optimized for. We routinely work with very large objects, we care a lot about write speed, etc.
Having our own managed storage engine gives us the ability to tailor the solution directly to our needs.
Are there any particular developer tools or resources you couldn't live without?
Outside of the OSS projects that we produce (RavenDB is OSS), I haven't had the chance to really work with other OSS projects. I did go through both LMDB and LevelDB codebases and sent some suggestions / bug reports to the owners. But I don't know if that really fits.
Do you have a favorite open source project (or projects) that you've contributed to recently?
Did you have a coding first love -- a particular program, gadget, game, or language that set you on the path to life as a developer?
I still consider Rhino Mocks to be one of the best codebases that I ever wrote. It is a small codebase, less than 15KLOC, but it s a really good one, if I do say so myself. And it was able to survive moving from .NET 1.0 to .Net 3.5 with many changes in between with very little change to the core architecture.
Anything else you'd like to mention?
Check out Ayende's blog and Twitter!