If you’ve been watching the evolution of database technologies over the past few years, you’ve seen how quickly JSON has quickly cemented its position in major database servers. Due to its use…
Customers ask us for p99 (99th percentile) of metrics pretty frequently. We plan to add such a feature to Database Performance Monitor (DPM)(more on that later). But a lot of…
We all want our systems to have high availability, but sometimes the exact meaning of “high availability” isn’t very clearly defined. However, availability — like scalability, performance, and so on…
Many of our customers use Graphite, and I don’t think anyone would argue with me when I say it’s probably the most commonly used time series database in the DevOps…
Houston, we have a problem. Google search for “What is innodb history list length?” and you get a bunch of nonsense mixed in with correct information, and it’s hard to…
Security is a top priority. Leading companies such as Zappos, Dyn, and Etsy use Database Performance Monitor (DPM), a cloud-based database performance management service to monitor MySQL in production designed…
This is a story of intermittent 500 Internal Server errors from APIs, that ended up being caused by a hardcoded constant in Go’s database/sql package. I’ll mostly spare you the…
We use exponentially weighted moving averages (EWMAs) quite a bit in a few algorithms. They’re one of the tricks everyone should have in their toolbox for cheaply approximating recent history…
While writing our TCP stream reassembly and MySQL protocol reverse-engineering algorithms, a few finer points of the MySQL protocol and internals came up. None of this is new information, but…
In this post I’ll illustrate two ways I’ve accidentally caused slow but steady memory consumption in Go programs. The phrase “memory leak” isn’t really accurate, but I can’t think of…