July 24, 2014

Using MySQL 5.6 Performance Schema in multi-tenant environments

Hosting a shared MySQL instance for your internal or external clients (“multi-tenant”) was always a challenge. Multi-tenants approach or a “schema-per-customer” approach is pretty common nowadays to host multiple clients on the same MySQL sever. One of issues of this approach, however, is the lack of visibility: it is hard to tell how many resources (queries, disk, […]

Multiple column index vs multiple indexes with MySQL 5.6

A question often comes when talking about indexing: should we use multiple column indexes or multiple indexes on single columns? Peter Zaitsev wrote about it back in 2008 and the conclusion then was that a multiple column index is most often the best solution. But with all the recent optimizer improvements, is there anything different with […]

Multi-Data Center MySQL with Continuent Tungsten: Dec. 11 webinar

I’m looking forward to next week’s MySQL webinar with Robert Hodges, CEO of Continuent. We’ll be speaking on the topic “Multi-Data Center MySQL with Continuent Tungsten.” You’re not alone if you’ve been vexed when trying to assemble multi-master, multi-site MySQL clusters. Whether that was a move from a single database server to a scalable cluster, […]

MySQL 5.7 multi-source replication

Recently Oracle announced several new features for the latest available development version of MySQL that is 5.7.2 at the time of writing this article. Most of them are performance and replication related that show us how incredible the new release will be. In this post I’m going to try to explain in some easy steps […]

Multicast replication in Percona XtraDB Cluster (PXC) and Galera

Bandwidth multiplication and synchronous clusters I’ve seen a lot of people setting up clusters with 3-6+ nodes on 1 Gbps networks.  1 Gbps seems like a lot, doesn’t it?  Actually, maybe not as much as you think.  While the theoretical limit of 1Gbps is actually 120MBps, I start to get nervous around 100MBps. By default […]

Sphinx search performance optimization: multi-threaded search

Queries in MySQL, Sphinx and many other database or search engines are typically single-threaded. That is when you issue a single query on your brand new r910 with 32 CPU cores and 16 disks, the maximum that is going to be used to process this query at any given point is 1 CPU core and […]

Understanding Multi-node writing conflict metrics in Percona XtraDB Cluster and Galera

I have addressed previously how multi-node writing causes unexpected deadlocks in PXC, at least, it is unexpected unless you know how Galera replication works.  This is a complicated topic and I personally feel like I’m only just starting to wrap my head around it. The magic of Galera replication The short of it is that Galera […]

Webinar: The Hazards of Multi-writing in a Dual-Master Setup

On November 15th at 1PM Eastern / 10 AM Pacific, I will be giving a webinar entitled “The Hazards of Multi-writing in a Dual-Master Setup“.  In my experience many people do not understand the difficulty of managing writes to RDBMS datastores in a high availability environment, especially where asynchronous replication is used (which is almost everywhere). […]

Percona XtraDB Cluster: Multi-node writing and Unexpected deadlocks

Percona XtraDB Cluster (PXC) and the technology it uses (Galera) is an exciting alternative to traditional MySQL replication.  For those who don’t know, it gives you: Fully Synchronous replication with a write latency increase equivalent to a ping RTT to the furthest node Automatic cluster synchronization, both incremental and full restores The ability to read […]

Multi Range Read (MRR) in MySQL 5.6 and MariaDB 5.5

This is the second blog post in the series of blog posts leading up to the talk comparing the optimizer enhancements in MySQL 5.6 and MariaDB 5.5. This blog post is aimed at the optimizer enhancement Multi Range Read (MRR). Its available in both MySQL 5.6 and MariaDB 5.5 Now let’s take a look at […]