RavenDB 4.0 Release Candidate
Two years ago almost to the day (I just checked) we started the initial design and implementation process for RavenDB 4.0. Today, it is with great pride and joy that I can tell you that we have the Release Candidate ready and available for download.
During the past two years we have improved RavenDB performance by an order of magnitude, drastically simplified operations and monitoring, introduced a new query language and distributed cluster technology, to name just a few highlights of the work that has been done. You’ll find RavenDB easier to use, much faster and packed full of features.
We are now almost done. The next few months are going to see us focus primarily on stabilization, smoothing the user experience and the behavior of the cluster and the database and in general making things nicer. We started with making things work, then making them work fast and now we are the stage where we want to make sure that it using RavenDB is a true pleasure. We are almost there, but we still need to work on things like deployment story, write documentation, provide a migration pathway, verify that the UI make sense even if you aren’t aware of what is going on under the hood, etc. In general, a lot of detailed work that is going to take time but everything major has been done.
I’m quite happy about it, if you can’t tell from the text so far.
The current road map calls for spending another 6 – 10 weeks in pushing RavenDB as far as we can to see how it behaves and filling in all the remaining touch ups and then pushing for release. We’ll probably also have an RC2 before, with Go Live capabilities.
In the meantime, if you are working on a new project with RavenDB I highly recommend switching to RavenDB 4.0. Note that the migration currently between 3.5 and 4.0 involved exporting your database on 3.5 and importing it on 4.0 and that you might have to make some minor changes to your code when you upgrade your applications to RavenDB 4.0. We’ll have a better story around upgrading from RavenDB 3.5 in the next RC, but we also want to hear from you about the kind of scenarios that needs to be supported there. In every metric that I can think of, RavenDB 4.0 is far superior, so I suggest moving as soon as possible to it.
You’ll be able to upgrade seamlessly from the RC release to RC2 or RTM without any trouble.
RavenDB 4.0 is available for Windows (64 & 32 bits), Ubuntu (14 & 16 – 64 bits), Raspberry PI and on Docker (Windows Nano Server and Ubuntu images).
We also released a .NET client and will follow up soon with Python, JVM, Node.JS, Ruby and Go clients.
Your feedback on all aspects of RavenDB 4.0 is desired and welcome, let it pour in.
Comments
Great to hear - well done to the whole team! Cheers, Ian
Awesome! Can't wait to give it a spin... If you guys planned a JVM client I could even do that on my day-job ;-) PS: Writing a JVM client is a lot more bearable nowadays if you implement it in Kotlin.
Congratulations on this milestone! It looks like the 32 bits download for windows is not available. Should it be there yet? Thanks!
Johannes, I can't believe that I forgot to put it, a JVM client is already in the works, should be released shortly after the Python one.
Rodrigo, Hm... strange, I'll check that.
Great Work!
Just tried to update a demo project from beta, there are two issues:
store.Conventions.AllowQueriesOnId
is not available.AbstractTransformerCreationTask<>
Will RavenDB 4 now provide lineair scaling of performance in clusters with multiple nodes like MongoDB provides?
Is an "Embedded RavenDB" still something that is going to be supported by RavenDB4 or will it all be about servers and clusters? There's no Raven.Server nuget package so I tried to reference Raven.Server.dll from the Zip form a .Net Framework WPF application but quickly gave up.
Merdan, *
AllowQueriesOnId
is now always allowed. * Transformers has been removed in favor of projectionsM. Fernandez, With sharding, no. The entire dataset is on each of the nodes, but we do provide support for load balancing across the nodes.
Stephan,
You can run RavenDB embedded inside your process, yes. However, a much better alternative it to run RavenDB slaved to your process. That means that RavenDB runs as its own process, managing things properly, but it is a zero admin / zero overhead deployment and only lives as long as your own process. See: http://issues.hibernatingrhinos.com/issue/RavenDB-8645
Rodrigo, We pushed 32 bits windows.
Comment preview