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 | 30 Sep 2016 09:00
Oren Eini writes "....As I mentioned, given a 45 GB file containing all the StackOverflow questions since 2008, I wanted to transform items like this: Into this: This turn out to be rather tricky to do. The file is sorted by the row id, but there are tricks here: You..."
Read more » Playing with the StackOverflow datasets : All the wrong ways
Ayende @ Rahien | 29 Sep 2016 09:00
Oren Eini writes "....We are doing perf testing right now, and we are looking into real world datasets to play around with. Luckily for us, Stackoverflow have regular data dump of size significant enough to be useful for our experiments. The file that I’m currently..."
Read more » Interview question: Stackoverflow THAT
Ayende @ Rahien | 28 Sep 2016 09:00
Oren Eini writes "....We spent some time recently looking into a lot of our old design decisions. Some of them make very little sense today (json vs. blittalbe as a good example), but made perfect sense at the time, and were essential to actually getting the product out...."
Read more » RavenDB Retrospective: Unbounded result sets
Ayende @ Rahien | 27 Sep 2016 09:00
Oren Eini writes "....One of the things that we have learned from supporting RavenDB in production is that you by default, everything is a black box into which you have exactly zero input. And in order to figure out what the problems are, you need to use expert tools..."
Read more » Debug & Operations as a feature: Tracking allocations costs
Ayende @ Rahien | 26 Sep 2016 09:00
Oren Eini writes "....Controlling memory allocations is something that any performant service need to do. In RavenDB 4.0 we have taken that to heart, and most of our memory usage is manual, instead of relying on the GC. Now, there are a lot of really good reasons to want..."
Read more » Stack arena memory allocation context
Ayende @ Rahien | 22 Sep 2016 05:42
Oren Eini writes "....Yesterday the perf team let me know that they managed to get ~18% improvement on Voron by utilizing another on disk data structure. I’ll post more on that when we have it merged and working. Talking about this, we decided to run a few benchmarks on..."
Read more » Voron Performance: A snapshot
Ayende @ Rahien | 21 Sep 2016 09:00
Oren Eini writes "....We recently started seeing a failing test in our RavenDB 4.0 test suite. This test was a relatively simple multi-map/reduce test. Here it is: I checked the history, and this test has been part of our test suite (and never failed us) since..."
Read more » The tale of the intermittently failing test
Ayende @ Rahien | 19 Sep 2016 09:54
Oren Eini writes "....I run into this article, talking about N+1 issues from a “fresh” perspective. In the article, there is a quote by DHH there that goes like this: If you have N+1 query it means you’re executing one SQL query per element so if you have 50 emails in..."
Read more » N+1 queries are hardly a feature
Ayende @ Rahien | 14 Sep 2016 08:24
Oren Eini writes "....It’s that time again, we are looking for more people to work on RavenDB. I’m going to assume that if you are reading this, you know what we do, so I’ll skip telling you how exciting, dynamic and buzzword of the day this position is. I’ll say that we..."
Read more » Hibernating Rhinos is hiring
Ayende @ Rahien | 13 Sep 2016 09:00
Oren Eini writes "....I talked about the goals of using diffs for the journals in a previous post, but in this one, I want to talk about what it actually did. To start with, it turn out that using diffs in the journal invalidates quite a few optimizations that we had. We..."
Read more » Voron Internals: The diff is the way