One of the hardest things that we did in RavenDB 4.0 will probably go completely unnoticed by users. We completely rewrote how RavenDB processes MapReduce queries. One of my popular blog posts is still a Visual Explanation to MapReduce, and it still does a pretty good job of explaining what MapReduce is.
The MapReduce code in RavenDB 3.x is one of the more fragile things that we have, require you to maintain in your head several completely different states that a particular reduction can be in and how they transition between states. Currently, there are probably two guys who still understand how it works and one guy who is still able to find bugs in the implementation. It is also not as fast as we wished it would be.
No comments:
Post a Comment