Quantcast
Channel: Ayende @ Rahien
Browsing all 166 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

Tracking down RavenDB I/O usage in Linux

Today I had to look into the a customer whose RavenDB instance was burning through a lot of I/O. The process is somewhat ingrained in me by this point, but I thought that it would make for a good blog...

View Article


Image may be NSFW.
Clik here to view.

Architectural optimizations vs the profiler

For the past couple of years, we had a stealth project going on inside of RavenDB. That project is meant to re-architect the internals of how RavenDB handles queries. The goal is to have a major...

View Article


Image may be NSFW.
Clik here to view.

Importing the Stack Overflow dataset into RavenDB

Around 2017 we needed to test RavenDB with realistic datasets. That was the time that we were working hard on the 4.0 release, and we wanted to have some common dataset that was production quality (for...

View Article

Image may be NSFW.
Clik here to view.

re: How Discord supercharges network disks for extreme low latency

I read this blog post from Discord, which presents a really interesting approach to a problem that they run into. Basically, in the cloud you have the choice between fast and ephemeral disks and...

View Article

Image may be NSFW.
Clik here to view.

Optimizing Corax: Optimizing tree operations

I love trees. Not the ones that produce oxygen, I mean, I guess they are nice too, but I’m talking about trees in software. To be rather more exact, I’m fascinated by B+Trees and all their...

View Article


Image may be NSFW.
Clik here to view.

Comparing SQLite WAL mode to Voron’s

There is a great article discussing how SQLite is handling transactions at fly.io. Which led me to the great documentation on the WAL mode for SQLite. And that led me to think about the differences...

View Article

Image may be NSFW.
Clik here to view.

Reducing complexity with a shift in thinking

I love B+Trees, but they can be gnarly beasts, with the number of edge cases that you can run into. Today’s story is about a known difficult place, page splitting in the tree. Consider the following...

View Article

Image may be NSFW.
Clik here to view.

The subtleties of proper B+Tree implementation

I mentioned earlier that B+Trees are a gnarly beast to implement properly. On the face of it, this is a really strange statement, because they are a pretty simple data structure. What is so complex...

View Article


Image may be NSFW.
Clik here to view.

Production postmortem: The missed indexing reference

RavenDB has a really nice feature, it allows you to index data from related documents. Consider the following document structure:We have tickets, vehicles, and users, and we want to issue a search on...

View Article


Published: Data Management in Complex Systems

My article about Data Management in Complex Systems was published in DZone as part of DZone's 2022 Database Systems Trend Report.I would love your feedback on it.

View Article

Image may be NSFW.
Clik here to view.

Production postmortem: Do you trust this server?

A customer called us with a problem. They set up a production cluster successfully, they could manually verify that everything is working, except that it would fail when they try to connect to it via...

View Article

--- Article Not Found! ---

*** *** *** RSSing Note: Article is missing! We don't know where we put it!!. *** ***

View Article

--- Article Not Found! ---

*** *** *** RSSing Note: Article is missing! We don't know where we put it!!. *** ***

View Article


Image may be NSFW.
Clik here to view.

RavenDB 6.0: Sharding webinar

This Wednesday I’m going to be doing a webinar about RavenDB & Sharding. This is going to be the flagship feature for RavenDB 6.0 and I’m really excited to be talking about it in public...

View Article

Using client side encrypted fields in RavenDB

Sometimes, you need to hold on to data that you really don’t want to have access to. A great example may be that your user will provide you with their theme color preference. I’m sure you can...

View Article


RavenDB Sharding Webinar recording

The recording of my webinar showing off the new Sharding feature in RavenDB 6.0 is now live. I’m showcasing the new technology preview of RavenDB 6.0 and we have a nightly build already available for...

View Article

Image may be NSFW.
Clik here to view.

Production postmortem: The heisenbug server

A user reported that they observed nodes in the cluster “going dark”. Basically, they would stop communicating with the rest of the cluster, but would otherwise appear functional. Both the internal and...

View Article


Production postmortem: The server ate all my memory

A customer reported a scenario where RavenDB was using stupendous amounts of memory. In the orders of tens of GB on a system that didn’t have that much load.Our first suspicion was that this is an...

View Article

Backend API design principles: Don’t mirror your data

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...

View Article

Image may be NSFW.
Clik here to view.

Looking into Corax’s posting lists: Part II

In a previous post (which went out a long time ago) I explained that we have the notion of a set of uint64 values that are used for document IDs. We build a B+Tree with different behaviors for branch...

View Article
Browsing all 166 articles
Browse latest View live