Articles

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 […]
Leveraging Indexing for Fast Complex Queries on Heterogeneous Data

Leveraging Indexing for Fast Complex Queries on Heterogeneous Data

8 minutes
To simplify the selection of materials for installing doors and windows according to local building codes, TOAD, LLC uses RavenDB indexing to organize the data, run computations on it behind the scenes, then quickly query the extensive parts catalog whenever users enter the specs they need.
ESO

How ESO Provides Reliable Tech for Emergency Workers in the Field

14 minutes
RavenDB provides ESO with HIPAA compliance, on/off-line functionality, and the ability to automatically respond to data events in their field device solutions for emergency responders. Devices that are equipped with their app and a server continue to work without interruption whenever offline, data integrity is maintained, and data events are automatically securely streamed to and from a cloud infrastructure whenever devices are online.

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 […]