• sysbench1.0

    I started the week working on my stressout database stress testing tool (with real traffic).

    The goal for this weekend was to feed the generated lua scripts to sysbench. But what is this? There is a new sysbench!

  • Little Dutch Boy

    I was reflecting on some early DBA automation scripts I created in bash. This one was targeted to stopping a particular problem the app caused when a piece of Javascript got stuck and sent hundreds – in some cases, over 10,000 – of the same query to the database. It was obviously a temporary fix until dev could roll out a fix.

    I called it Little Dutch Boy for obvious reasons. He used his finger to stop a flood? Get it? OK, it amused me. More importantly, it allowed the ops team to not get woken up repeatedly.

  • Duplicate Indexes in MySQL

    I’ve done dutiful DBA work in the past to identify and remove what are commonly called duplicate indexes. That is, those indexes that look like (a) and (a,b). The thought is that a query will utilize an index as easily on (a) as on (a,b), and removing (a) will save storage cost and write performance. I’ve had the experience, though, of removing (a) and seeing performance tank. Why do we sometimes want to keep duplicate indexes?
  • Using the MariaDB CONNECT Engine to Merge Heterogeneous Data Sources

    I was reminded recently of a project I did during a DevDays week at WebAssign in 2014. The engineering department wanted to move a large dataset into MongoDB, and my DevDays experiment was to demonstrate the Tungsten Replicator’s role in translating data from MySQL to MongoDB. It worked handily, but was ultimately not implemented because the development teams got bogged down in the Tungsten replication filters desired for data transformation.
  • I am a dummy

    I often joke that if I was stuck on a desert island, the book I’d want to have along is the MySQL Reference Manual. There’s an endless source of amusement within the 4400+ pages. I recently found myself stuck in the West Virginia mountains with no quick source of internet, and discovered several bits of new trivia. Here’s just one item: Adding the –i-am-a-dummy flag to your mysql client (or within a configuration file, of course) keeps you from making updates or deletes on a whole table without a “where” clause.
  • Flea Market Game

    You are going to the flea market to find a coffee table and a few succulents for the front stoop. You also want to have lunch there. The flea market only takes cash; you brought $100.

  • MySQL Sounds Like Fun

    I love finding out new things about MySQL. Last week, I stumbled on a query that had the phrase “SOUNDS LIKE” in it. Sounds made-up, right? Turns out MySQL is using a known “soundex” algorithm common to most databases, and popular in use cases in geneaology. The basic idea is that words are encoded according to their consonants. Consonants that sound similar (like M and N) are given the same code.