• 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?
  • ghost tokudb

    I keep finding new chances to use gh-ost online schema change tool, and thinking I might find a case it won’t work. Today I tested it on a TokuDB setup. Worked fine. This makes for an uninteresting (but satisfying) blog post. “Tried new gh-ost scenario; worked fine.”
  • 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.

  • Open Source Volunteer

    Encouraging to see so many bright students this morning signing in at #OpenSource101 to learn about open source tools and processes. — Data In, Data Out (@dataindataout) February 4, 2017
  • New MongoDB Courses

    New MongoDB University courses! I’ve raved about the MongoDB courseware before. Happy to see some new courses, highly relevant to ops. I’ve signed up for these: M310: MongoDB Security Learn how to use MongoDB’s native and third-party integration security features and resources. This course will provide you with the knowledge to create secured deployments of MongoDB for production-ready environments. M210: MongoDB Performance Learn how to optimize the performance of your MongoDB deployment.
  • 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.
  • About Me

    I have two recurring “discussions” with my colleagues: whether you should put metadata in server names, and whether it’s better to be a generalist or a specialist. I generally argue “no” and “generalist,” but I can form arguments for either side on demand. At this point in my career, I can safely say I’m both a generalist and a specialist. I’ve spent the last nearly 10 years becoming a subject matter expert on large-scale MySQL and adjacent technologies.