Oren Eini is a senior developer / architect, focusing on architecture, data access and best practices. Most often, he is working on building complex business systems using .Net 2.0, NHibernate and Castle's Frameworks, providing training and guidance for the use of Object Relational Mapping, Inversion of Control, Domain Driven Design and other exciting topics. Oren is an active member in several leading Open Source projects, including (but not limited :-) ) NHibernate, Castle and Rhino Mocks.
Ayende @ Rahien | 21 Oct 2016 09:00
Oren Eini writes "....As in the last post, I’m focusing on reducing the startup time for transactions. In the last post, we focused on structural changes (removing Linq usage, avoiding O(N^2) operations) and we were able to reduce our cost by close to 50%. As a reminder,..."
Read more » Optimizing read transaction startup time: Getting frisky
Ayende @ Rahien | 20 Oct 2016 09:00
Oren Eini writes "....The benchmark in question deals with service 1 million random documents, as fast as possible. In my previous post, I detailed how we were able to reduce the cost of finding the right database to about 1.25% of the cost of the request (down from..."
Read more » Optimizing read transaction startup time: The low hanging fruit
Ayende @ Rahien | 19 Oct 2016 09:00
Oren Eini writes "....The following benchmark is from a small database containing about 500K documents, doing random load by id. As you can see, I highlighted a problematic area: We spent a lot of time to optimize routing as much as possible, so I was pretty annoyed..."
Read more » Multiple optimizations passes with case insensitive routing
Ayende @ Rahien | 18 Oct 2016 09:00
Oren Eini writes "....RavenDB is a pretty big project, and it has been around for quite a while. That means that we have run into a lot of strange stuff over the years. In particular, support incidents are something that we track and try to learn from. Today’s post is..."
Read more » That is my memory you’re freeing, you foreign thread!
Ayende @ Rahien | 17 Oct 2016 09:00
Oren Eini writes "....RavenDB’s core philosophy is that It Just Works and that means that we try very hard to get things right. Conversely, that means that we are also trying to make it hard to do the wrong thing. Basically, we want to push you hard into the pit of..."
Read more » RavenDB Retrospective: The governors
Ayende @ Rahien | 14 Oct 2016 09:00
Oren Eini writes "....RavenDB doesn’t provide any way for queries to do table scans*. * That isn’t actually true, we have Data Exploration, which does just that, but we don’t provide an explicit API for it, and it is a DBA driven feature (I wanna get this report with a..."
Read more » RavenDB Retrospective: Explicit indexes & auto indexes
Ayende @ Rahien | 13 Oct 2016 09:00
Oren Eini writes "....Today I started out like most recent days, I was working on improving performance and running benchmarks. I made a small change in how we handle file allocation and mapping inside Voron. This is the kind of change that should have no observable..."
Read more » The Red Alert Sleeper Agent Bug
Ayende @ Rahien | 12 Oct 2016 09:00
Oren Eini writes "....RavenDB was designed from the get go with ACID documents store, and BASE indexes. ACID stands for Atomic, Consistent, Isolated, Durable, and BASE stands for Basically Available, Soft state, Eventually consistent.
That design had been conceived by..."
Read more » RavenDB Retrospective: BASE Indexes
Ayende @ Rahien | 11 Oct 2016 09:00
Oren Eini writes "....There are times when you write clean, easily to understand code, and there are times when you see 50% of your performance goes into DateTime parsing, at which point you’ll need to throw nice code out the window, put on some protective gear and seek..."
Read more » Timing the time it takes to parse time: Part II
Ayende @ Rahien | 11 Oct 2016 08:00
Oren Eini writes "....All our latest fixes are in it, and this is likely the final release. You can get it here. Please take it for a spin, we plan to do RTM release next week, and RC3 is supported to run in production...."
Read more » RavenDB 3.5 Release Candidate 3 (and final) is out