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 | 24 Apr 2015 09:00
Oren Eini writes "....I mentioned that we have created our own thread pool implementation in RavenDB to handle our specific needs. A common scenario that ended up quite costly for us was the notion of parallelizing similar work. For example, I have 15,000 documents to..."
Read more » Work stealing in the presence of startup / shutdown costs
Ayende @ Rahien | 21 Apr 2015 06:35
Oren Eini writes "....With RavenDB 3.5, we are focusing on performance as one of the key features. I’ve already spoken at length about the kind of changes that we had made to improve performance. A few percentage points here and there end up being quite significant when..."
Read more » Fine grained work control
Ayende @ Rahien | 12 Apr 2015 02:34
Oren Eini writes "....I’m happy to announce that despite the extreme inefficiencies involved in the process, the performance issues and what are sure to be multiple stop ship bugs in the way the release process is handled. We have successfully completed Project Tamar...."
Read more » Project Tamar
Ayende @ Rahien | 08 Apr 2015 09:00
Oren Eini writes "....We have a new build out, build 3660, which contain a lot of fixes and some really nice stuff for RavenDB users. You can get it here. The new stuff is quite cool. Global Changed default data location (Now will go to C:\Raven). Various performance..."
Read more » RavenDB 3.0–New stable release
Ayende @ Rahien | 03 Apr 2015 09:00
Oren Eini writes "....RavenDB build 3651 is out, and it is marked as RC for stable release. You can download it here, and we intend to release it next week as a stable release. It is currently going through additional QA processes, and it is the build that is currently..."
Read more » New RavenDB 3.0 RC is out
Ayende @ Rahien | 01 Apr 2015 04:08
Oren Eini writes "....We have a support hotline for RavenDB, and usually we get people that give us “good” problems to solve. And then we have the people who… don’t. The following are a few of the strangest issues from the past month or so. OutOfMemoryException is..."
Read more » Strangest support calls for RavenDB
Ayende @ Rahien | 31 Mar 2015 10:55
Oren Eini writes "....In my previous post, I showed a pretty trivial index and asked how to efficiently update it. Efficient being time & memory wise. The easiest approach to do that is by using a reverse lookup option. Of course, that means that we actually need to..."
Read more » Fixing the index, solutions
Ayende @ Rahien | 30 Mar 2015 10:00
Oren Eini writes "....This is something that goes into the “what to ask a candidate”. Given the following class: public class Indexer
private Dictionary<string, List<string>> terms =
Read more » Interview question: fix the index
Ayende @ Rahien | 27 Mar 2015 10:00
Oren Eini writes "....We got a bug report in the RavenDB mailing list that was interesting to figure out. The code in question was:
foreach(var product in GetAllProducts(session)) // GetAllProducts is implemented using streaming
if (i > 1000)
Read more » Timeouts, TCP and streaming operations
Ayende @ Rahien | 26 Mar 2015 10:00
Oren Eini writes "....A good chunk of the RavenDB Core Team is going to be in CodeFest in Novosibirsk this weekend, including yours truly. We are going to be handing out a lot of cool stuff, and we got some really nice things to talk about. And yes, I’ll keep the..."
Read more » RavenDB in Siberia