NoSQL Database

Articles, posts and news about NoSQL database.

That weird slow benchmark and its root cause

5 minutes
We care a lot about the performance of RavenDB, like a whole lot. To the point where we have a dedicated team that is continuously burning money CPU cycles testing out all sorts of scenarios with RavenDB. You can see the performance page on the website for some of their results. It got to the point where […]

RavenDB 6.0 live instance is now up & running: Come test it out!

3 minutes
RavenDB has the public live test instance, and we have recently upgraded that to version 6.0.  That means that you can start playing around with RavenDB 6.0 directly, including giving us feedback on any issues that you find. Of particular interest, of course, is the sharding feature, it is right here: And once enabled, you […]

ExternalFinalizer: Adding a finalizer to 3rd party objects

3 minutes
Let’s say that you have the following scenario, you have an object in your hands that is similar to this one: It holds some unmanaged resources, so you have to dispose it. However, this is used in the following manner: What is the problem? This object may be used concurrently. In the past, the frame […]

RavenDB Sharding Progress

3 minutes
RavenDB Sharding is now running as a production replication in our backend systems and we are stepping up our testing in a real-world environment. We are now also publishing nightly builds of RavenDB 6.0, including Sharding support. There are some known (minor) issues in the Studio, which we are busy fixing, but it is already […]

Backend API design principles: Don’t mirror your data

10 minutes
It’s very common to model your backend API as a set of endpoints that mirror your internal data model. For example, consider a blog engine, which may have: GET /users/{id}: retrieves information about a specific user, where {id} is the ID of the user GET /users/{id}/posts: retrieves a list of all posts made by a […]

The cost of timing out

4 minutes
Let’s assume that you want to make a remote call to another server. Your code looks something like this: var response = await httpClient.GetAsync("https://api.myservice.app/v1/create-snap", cancellationTokenSource.Token); This is simple, and it works, until you realize that you have a problem. By default, this request will time out in 100 seconds. You can set it to a […]

On AI, GPT and the future of developers

9 minutes
When I started using GitHub Copilot, I was quite amazed at how good it was. Sessions using ChatGPT can be jaw dropping in terms of the generated content. The immediate reaction from many people is to consider what the impact of that would be on the humans who currently fill those roles. Surely, if we […]