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 | 28 Jul 2014 09:00
Oren Eini writes "....This is what we call a “mini feature”, something that you’ll probably not notice unless pointed out to you. Often, we want to store documents that contain multi line strings properties. JSON has a very simple way to handle that: And it works, and..."
Read more » Small touches: Complex text in RavenDB
Ayende @ Rahien | 25 Jul 2014 09:00
Oren Eini writes "....The Pandora FMS team has put up a guide on how you can monitor RavenDB (2.5, for now) using Pandora FMS. Here is what this looks like:..."
Read more » Monitoring RavenDB with Pandora FMS
Ayende @ Rahien | 24 Jul 2014 09:00
Oren Eini writes "....Even more goodies are coming in RavenDB 3.0. Below you can see how to visualize the replication topology in a RavenDB Cluster. You can also see that the t5 database is down (marked as red). This is important, since this gives us the ability to..."
Read more » RavenDB Replication Topology Visualizer
Ayende @ Rahien | 23 Jul 2014 09:00
Oren Eini writes "....A customer asks in the mailing list: Due to data protection requirements, we have to store a users data closest to where they signed up. For example if I sign up and I’m in London, my data should be stored in the EU. Given this, how do we ensure..."
Read more » Geo distribution and high availability in RavenDB
Ayende @ Rahien | 22 Jul 2014 09:00
Oren Eini writes "....We got a customer question about a map/reduce index that produced the wrong results. The problem was a problem between the conceptual model and the actual model of how Map/Reduce actually works. Let us take the following silly example. We want to..."
Read more » Avoid where in a reduce clause
Ayende @ Rahien | 21 Jul 2014 09:00
Oren Eini writes "....Yes, I talked about this already, but we made some additional improvements that make it even cooler. Here is a document: And here is the index: Now, let us look at what happens when we go to the map/reduce visualizer: This is a highly zoomed out..."
Read more » Map/Reduce visualizer, take II
Ayende @ Rahien | 18 Jul 2014 09:00
Oren Eini writes "....Yes, I choose the title on purpose. The topic of this post is this issue. In RavenDB, we use replication to ensure high availability and load balancing. We have been using that for the past five years now, and in general, it has been great, robust..."
Read more » Introducing inefficiencies into RavenDB, on purpose
Ayende @ Rahien | 17 Jul 2014 09:00
Oren Eini writes "....This can be a very short post, just: See CAP. Unfortunately, we have a lot of people who actually have experience in using distributed transactions, and have a good reason to believe that they work. The answer is that yes, they do, as long as you..."
Read more » The fallacy of distributed transactions
Ayende @ Rahien | 16 Jul 2014 09:00
Oren Eini writes "....I have an interesting situation that I am not sure how to resolve. We need to record the last request time for a RavenDB database. Now, this last request time is mostly used to show the user, and to decide when a database is idle, and can be shut..."
Read more » When a race condition is what you want…
Ayende @ Rahien | 15 Jul 2014 09:00
Oren Eini writes "....In my previous post, I did some rough “benchmarks” to see how message passing options behave. I got some great comments, and I thought I’ll expand on that. The baseline for this was a blocking queue, and we managed to process using that we managed..."
Read more » Message passing, performance–take 2