Choosing Your Database: Lessons from Google F1

Databases are a lot like programming languages: there’s a great variety to chose from, they have wildly different programming and query interfaces, and there’s a wide gap in available features. And just as choosing the right programming language for a project can have a significant impact on the outcome of […]

Distributed Database Architectures: Shared Disk

Shared Disk Databases One of the most common questions I get about Clustrix is “How is Clustrix different than Database X?” Depending on who asks the question, Database X tends to be anything from Oracle RAC to MySQL Cluster. So I decided to put together a primer on different types […]

Distributed Database Architectures: Distributed Storage / Centralized Compute

In my previous post I wrote about shared disk architectures and the problems they introduce. It’s common to see comparisons between shared disk and shared nothing architectures, but that distinction is too coarse to capture the differences between various shared nothing approaches. Instead, I’m going to characterize the various “shared-nothing” […]

Profile Driven Performance Optimization

Performance Optimization Recently, one of our support engineers noticed that a customer cluster got a little sluggish during a routine maintenance operation. In looking back at historical data, we noticed that the cluster saw a decrease in transaction throughput. The system should have done its cleanup in the background at […]

MongoDB vs. Clustrix Comparison, Part 2

MongoDB versus ClustrixDB Introduction In Part 1 of my comparison, I ran some performance benchmarks to establish that relational systems can scale performance. In this post I would like to focus more on the High Availability and Fault Tolerance aspects of the two systems. The post will go over the […]