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

Looking for a Developer Advocate for RavenDB

We are looking to hire another Developer Advocate for RavenDB. The position involves talking to customers and users, help them build and design RavenDB based solutions. It requires excellent written...

View Article


Image may be NSFW.
Clik here to view.

A tale of eventually consistent ACID model

I recently had a conversation about ACID, I don’t think it would surprise anyone that I’m a big proponent of ACID. After all, RavenDB was an ACID database from the first release.When working with...

View Article


Image may be NSFW.
Clik here to view.

Using RavenDB for data aggregation from dynamic sources

I got an interesting question from a customer recently and thought that it would make for a fun blog post. The issue the customer is facing is that they are aggregating data from many sources, and they...

View Article

Webinar next week: Clean Architecture with RavenDB

Next week I'll be talking how you can utilize RavenDB to create a clean architecture for your systems.You can register in the following link

View Article

On fixing a bug (and all its siblings) with a forward looking view

We run into a strange situation deep in the guts of RavenDB. A cluster command (the backbone of how RavenDB is coordinating action in a distributed cluster) failed because of an allocation failure....

View Article


RavenDB at Rakuten Kobo recording is now available

I had a great discussion with Trevor, the CTO of Rakuten Kobo about their use of RavenDB, you can watch it here:

View Article

Cloud security and college assignment

I’m teaching a college class about Cloud Computing and part of that is giving various assignments to build stuff on the cloud. That part is pretty routine.One of my requests for the tasks is to...

View Article

re: BonsaiDb performance update: A deep-dive on file synchronization

I run into this fascinating blog post discussing the performance of BonsaiDb. To summarize the post, the author built a database and benchmarked it, but wasn’t actually calling fsync() to ensure...

View Article


Image may be NSFW.
Clik here to view.

High performance .NET: Building a Redis Clone–naively

I run into this project, which aims to be a Redis clone with better performance and ease of use. I found it interesting because one of the main selling points there was that it is able to run in a...

View Article


Image may be NSFW.
Clik here to view.

High performance .NET: Building a Redis Clone–Analysis

In the previous post, I wrote a small Redis clone using the most naïve manner. It was able to hit nearly 1M queries per second on our test instance (c6g.4xlarge, using 16 cores and 64 GB of memory)....

View Article

Image may be NSFW.
Clik here to view.

High performance .NET: Building a Redis Clone–Architecture

My previous attempts to write a Redis clone were done in about as straightforward a way as possible. Open a socket to listen on, have a separate Task for each client that reads from the network, parse...

View Article

Image may be NSFW.
Clik here to view.

High performance .NET: Building a Redis Clone–separation of computation & I/O

After achieving 1.25 million ops/sec, I decided to see what would happen if I would change the code to support pipelining. That ended up being quite involved, because I needed to both keep track of all...

View Article

Image may be NSFW.
Clik here to view.

The value of self contained diagnostics

I’m inordinately fond of the Fallacies of Distributed Computing, these are a set of common (false) assumptions that people make when building distributed systems, to their sorrow.Today I want to talk...

View Article


Image may be NSFW.
Clik here to view.

High performance .NET: Building a Redis Clone– the wrong optimization path

Now that I’m done with the low hanging fruits, I decided to shift the Redis implementation to use System.IO.Pipelines. That is a high performance I/O API that is meant specifically for servers that...

View Article

Image may be NSFW.
Clik here to view.

High performance .NET: Building a Redis Clone – skipping strings

One of the high costs that we have right now in my Redis Clone is strings. That is actually a bit misleading, take a look here:Strings take 12.57% of the runtime, but there is also the GC Wait, where...

View Article


Recording: Non relational data modeling & Database engine internals

A few days ago I talked for close to three hours discussing RavenDB, modeling data in a non relational world and diving very deep into the internals of database engines in the .NET Zurich users...

View Article

Image may be NSFW.
Clik here to view.

High performance .NET: Building a Redis Clone–Analysis II

I’m going to go back a few steps and try to see where I should be looking at next, to see where I should pay the most attention. So far in this series, I mostly focused on how we read and process the...

View Article


Image may be NSFW.
Clik here to view.

Production postmortem: Efficiency all the way to Out of Memory error

RavenDB is written in C#, and as such, uses managed memory. As a database, however, we need granular control of our memory, so we also do manual memory management.One of the key optimizations that we...

View Article

Recording: Build your own database at Cloud Lunch & Learn

I spoke at Cloud Lunch & Learn about the basics of building a database from scratch. We took a storage engine and created a simple database within the span of an hour. Covered in the talk are the...

View Article

Webinar Recording: RavenDB & Messaging Transactions

In RavenDB 5.4, we’re introducing new ELT features for Kafka and RabbitMQ. Now, instead of your documents just sitting there in your database, you can involve them in your messaging transactions. In...

View Article
Browsing all 163 articles
Browse latest View live