Sponsors Do More Than Pay The Bills

Oct 24, 2017

I participate in many technical conferences every year, and I’m always struck by the way conferences treat their sponsors. Those that simply acknowledge sponsors for making the event possible are seriously stunting their community. Don’t do that! Your community’s commercial supporters aren’t parasites: they’re an essential part of your ecosystem.

Hitler Reacts to Removal of MySQL's Query Cache

Jul 10, 2017

The removal of the query cache in MySQL 8.0 improves user experience and has been celebrated by many members of the MySQL community. With this good news, obviously, Hitler isn’t happy. (Parody Video).

Analyzing Changing Workloads with the USL

Apr 9, 2017

Production servers often have much more dynamic, complex workload and behaviors than you might be accustomed to seeing, because most monitoring products aggregate system behavior into high-level global metrics, losing all the detail. Multivariate analysis by another dimension often reveals something unexpected about server behavior. This can prompt you to explore the system, and sometimes leads to a deeper understanding of it. Here’s one such example.

Defining Moments in Database History

Mar 19, 2017

The rise of the LAMP stack in the early- to mid-2000s created a shift in the technology landscape, as well as the impetus for contenders to emerge. I’ve been reflecting on key factors in that phenomenon and what’s happened since then—and what it can teach us about what’s happening now.

Meeting The Challenges of Monitoring In The Cloud

Sep 9, 2016

I’ll be visiting MIT’s Tang Center on October 10 in Boston to talk about monitoring. Join me!

How to Extract Data Points From a Chart

Dec 6, 2015

I often see benchmark reports that show charts but don’t provide tables of numeric results. Some people will make the actual measurements available if asked, but I’ve been interested in analyzing many systems for which I can’t get numbers. Fortunately, it’s usually possible to get approximate results without too much trouble. In this blog post I’ll show several ways to extract estimates of values from a chart image.

What Does The Universal Scalability Law Reveal About MySQL?

Nov 12, 2015

In the last couple of weeks, there have been a few blog posts about benchmarks comparing the performance of various versions of MySQL and variants such as MariaDB. There’s also been some analysis of the results using formal models such as Neil Gunther’s Universal Scalability Law.

What can the Universal Scalability Law (USL) teach us about the performance characteristics of these systems, as revealed by the benchmarks? To find out, I’ll examine one particular benchmark, MariaDB 10.1 and MySQL 5.7 performance on commodity hardware.

Don't Miss PGConfSV, Silicon Valley's Newest PostgreSQL Conference

Oct 23, 2015

If you haven’t heard about PGConfSV yet, it’s a conference for the Silicon Valley PostgreSQL community and beyond, featuring leading PostgreSQL performance and scalability experts. It’s happening November 17-18 at the South San Francisco Conference Center. I encourage everyone in the area to attend, since this is likely to be the best Postgres conference held thus far in the Silicon Valley.

The Case For Tagging In Time Series Data

Oct 16, 2015

A while ago I wrote a blog post about time series database requirements that has been amazingly popular. Somewhere close to a dozen companies have told me they’ve built custom in-house time series databases, and that blog post was the first draft of a design document for it.

One of the things I said in the post was that I had no use for the “tagging” functionality I’ve seen in time series databases such as OpenTSDB. I’ve since reconsidered, although I think the functionality I now want is a bit different.

Baron Schwartz Left Percona

Aug 24, 2015

A number of people have commented to me over the last few years that when they search for me on Google, it suggests that they might want to search for “Baron Schwartz left Percona.” This is a top suggestion when I search for myself, too.

Since people are searching for it, maybe I should explain it.

An Outline for a Book on InnoDB

Aug 8, 2015

Years ago I pursued my interest in InnoDB’s architecture and design, and became impressed with its sophistication. Another way to say it is that InnoDB is complicated, as are all MVCC databases. However, InnoDB manages to hide the bulk of its complexity entirely from most users.

I decided to at least outline a book on InnoDB. After researching it for a while, it became clear that it would need to be a series of books in multiple volumes, with somewhere between 1000 and 2000 pages total.

New O'Reilly Book, Anomaly Detection For Monitoring

Aug 3, 2015

Together with Preetam Jinka, I wrote a book for O’Reilly called Anomaly Detection for Monitoring.

The book contains great examples of anomaly detection used for monitoring. It’s practical and simple, and contains no hype.

Your Real Database Bottleneck

Jul 21, 2015

Database performance optimization is usually concerned with indexes, SQL design, lock contention, and the like. But the real database bottleneck is the siloed culture that accretes around the database and has far more pernicious ripple effects than you might think. The real opportunity in database optimization is the interplay between the technology and the team, and its communication structures.

What Makes A Database Mature?

May 25, 2015

Many database vendors would like me to take a look at their products and consider adopting them for all sorts of purposes. Often they’re pitching something quite new and unproven as a replacement for mature, boring technology I’m using happily.

I would consider a new and unproven technology, and I often have. As I’ve written previously, though, a real evaluation takes a lot of effort, and that makes most evaluations non-starters.

Perhaps the most important thing I’m considering is whether the product is mature. There are different levels of maturity, naturally, but I want to understand whether it’s mature enough for me to take a look at it. And in that spirit, it’s worth understanding what makes a database mature.

History Repeats: MySQL, MongoDB, Percona, and Open Source

May 22, 2015

History is repeating again. MongoDB is breaking out of the niche into the mainstream, performance and instrumentation are terrible in specific cases, MongoDB isn’t able to fix all the problems alone, and an ecosystem is growing.

State Of The Storage Engine - DZone

Apr 2, 2015

I contributed an article on modern database storage engines to the recent DZone Guide To Database and Persistence Management. I’m cross-posting the article below with DZone’s permission.

Scaling Backend Systems at VividCortex

Mar 31, 2015

I wrote a guest post for High Scalability about how we scale our backend systems at VividCortex. It’s heavy on MySQL, sprinkled with a little bit of Redis’s magic pixie dust, and Kafka is also a key part of the architecture.

If Eventual Consistency Seems Hard, Wait Till You Try MVCC

Dec 8, 2014

This should sound familiar:

One of the great lies about NoSQL databases is that they’re simple. Simplicity done wrong makes things a lot harder and more complicated to develop and operate. Programmers and operations staff end up reimplementing (badly) things the database should do.

Nobody argued this line of reasoning more vigorously than when trying to defend relational databases, especially during the darkest years (ca. 2009-2010), when NoSQL still meant NO SQL DAMMIT, all sorts of NoSQL databases were sprouting, and most of them were massively overhyped. But as valid as those arguments against NoSQL’s “false economy” simplicity were and are, the arguments against relational databases’ complexity hold true, too.

Time-Series Database Requirements

Jun 8, 2014

I’ve had conversations about time-series databases with many people over the last couple of years. I wrote previously about some of the open-source technologies that people commonly use for time-series storage.

Because I have my own ideas about what constitutes a good time-series database, and because a few people have asked me to describe my requirements, I have decided to publish my thoughts here. All opinions that follow are my own, and as you read you should mentally add “in my opinion” to every sentence.

Can MySQL be a 12-factor service?

May 10, 2014

A while ago I wrote about some of the things that can make MySQL unreliable or hard to operate. Some time after that, in a completely unrelated topic, someone made me aware of a set of principles called 12-factor that I believe originated from experiences building Heroku.

That’s been over a year, and I’ve come to increasingly agree with the 12-factor principles. I guess I’m extremely late to the party, but making applications behave in 12-factor-compliant ways has solved a lot of problems for me.