Last week (18th of September 2014) I attended the RavenDB conference in Malmö, Sweden. As expected, the conference focused primarily on the upcoming release of the 3rd version of RavenDB, but it also included a use case talk (a successful story of implementing RavenDB in a high availability solution) given by Manuel Scapolan and Mauro Servienti.
In a cozy atmosphere, and surrounded by approximately 30 attendants, Oren Eini (aka Ayende, aka the god of RavenDB) briefly introduced us to the main upcoming features of RavenDB 3.0:
- RavenFS – a distributed file system designed to handle your attachments in an optimized manner
- .NET RavenDB Client – is now fully async, but also packs synchronous methods which will just wrap the async ones and do the wait for you
- Voron – a new storage engine that can be used instead of Esent. Voron, the russian translation of the word raven, should allow the RavenDB team to achieve higher performance and a more seamlessly integrated solution – this is because they now own the full stack and can optimize, fix bugs, optimize, fix bugs, and so on.
- Raven Studio – probably the most awaited feature of all, is a complete redesign of the old one and packs very useful functionality. A strong emphasis has been placed on operations when designing the new studio, therefore you will now: be able to see what’s happening in the database in realtime, get suggestions regarding index merging when possible, be able to easily create a debug-package, that you can send to RavenDB support when in trouble, easily configure sql replication, see the replication topology though the replication visualizer, and many other sweet features.
- Indexing optimizations – the indexes will now be built in memory, and from time to time flushed to the disk. Moreover, they will now be aware of the collection they are indexing, and will become stale only if the collection they are targeting has changed.
- Many many other features that I will not go over in this post, however here are some links that should get you up to date with the new features of RavenDB 3.0:
- http://ayende.com/blog/168322/what-is-new-in-ravendb-3-0-voron
- http://ayende.com/blog/168323/what-is-new-in-ravendb-3-0-ravenfs
- http://ayende.com/blog/168386/what-is-new-in-ravendb-3-0-client-side
- http://ayende.com/blog/168417/what-is-new-in-ravendb-3-0-indexing-backend
- http://ayende.com/blog/168418/what-is-new-in-ravendb-3-0-indexing-enhancements
- http://ayende.com/blog/168450/what-changed-in-ravendb-3-0-replication
- http://ayende.com/blog/168513/what-is-new-in-ravendb-3-0-operations-the-pretty-pictures-tour
- Or, if you are more into videos than reading, you can try the HibernatingRhinos youtube channel https://www.youtube.com/user/HibernatingRhinos/videos
The conference also included talks by Michael Yarichuk (RavenDB contributor), and Judah Himango (RavenDB’s HTML5 Studio Creator).
Having so many new features and enhancements, means that the RavenDB source code has changed, therefore obsoleting the parts that I studied. Therefore, I should probably get back to understanding these new features from the inside out by reviewing their mighty source code.