Nov 16, 2009 |
MySQL, Percona Events
A final update on training for this year – registration for InnoDB/XtraDB training in Chicago (8th December) and Atlanta (10th December) are now open. While in Atlanta I’ll be giving a talk at the Atlanta PHP User Group on Optimizing MySQL Performance (details to be posted to their website shortly). If you’re in Chicago and […]
Nov 16, 2009 |
Insight for DBAs, MySQL
I forwarded on a list of questions about PBXT to Paul McCullagh today. While Paul’s busy answering them, I’d like to announce that Robert Dempsey (InfiniDB storage engine) and Bradley C. Kuszmaul (TokuDB storage engine) have also accepted an interview. If you have any questions about either storage engine, please post them here by Friday […]
Nov 16, 2009 |
Insight for Developers, MySQL
I wrote a post a while back that said why you don’t want to shard. In that post that I tried to explain that hardware advances such as 128G of RAM being so cheap is changing the point at which you need to shard, and that the (often omitted) operational issues created by sharding can […]
Nov 12, 2009 |
Insight for Developers, MySQL
In the next week, I’ll be interviewing Paul McCullagh, the architect behind the PBXT storage engine. If you have any questions for Paul, please post them here by Monday 16th November. Note: The idea for this interview was inspired by a previous interview with Heikki Tuuri – creator of InnoDB. You can see the answers […]
Nov 05, 2009 |
MySQL, Percona Events
We’ve been busy expanding our training curriculum to include training for developers building applications with MySQL. We have reached the point where we’re ready for a pilot teach – and it brings me great pleasure to announce that we’re opening it up for blog readers to attend, free of charge. The details: San Francisco 4th […]
Nov 01, 2009 |
MySQL, Percona Events
A recent photo from Highload.ru I said in my last post, that we’re interested in speaking at MySQL meetups, and I’m happy to say that the Los Angeles MySQL Meetup has taken us up on the offer. On November 18th, I’ll be giving an introductory talk on InnoDB/XtraDB Performance Optimization. I will be the second […]
Oct 16, 2009 |
MySQL, Percona Events
I wanted to provide an update on two things: Firstly, we have opened registration for InnoDB/XtraDB training in Los Angeles (Nov 18th). The second is that while I am in New York City for training (Oct 29th), I’ll be giving a (free) talk at the MySQL Meetup group there (Oct 28th). We love to speak […]
Oct 16, 2009 |
Insight for DBAs, MySQL
I’ve seen a few people link to an INFORMATION_SCHEMA query to be able to find any indexes that have low cardinality, in an effort to find out what indexes should be removed. This method is flawed – here’s the first reason why:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
CREATE TABLE `sales` ( `id` int(11) NOT NULL AUTO_INCREMENT, `customer_id` int(11) DEFAULT NULL, `status` enum('archived','active') DEFAULT NULL, PRIMARY KEY (`id`), KEY `status` (`status`) ) ENGINE=MyISAM AUTO_INCREMENT=65691 DEFAULT CHARSET=latin1; mysql> SELECT count(*), status FROM sales GROUP by status; +----------+---------+ | count(*) | status | +----------+---------+ |   65536 | archived | |     154 | active | +----------+---------+ 2 rows in set (0.17 sec) mysql> EXPLAIN SELECT * FROM sales WHERE status='active'; # query 1 +----+-------------+-------+------+---------------+--------+---------+-------+------+-------------+ | id | select_type | table | type | possible_keys | key   | key_len | ref  | rows | Extra      | +----+-------------+-------+------+---------------+--------+---------+-------+------+-------------+ | 1 | SIMPLE     | sales | ref | status       | status | 2      | const | 196 | Using where | +----+-------------+-------+------+---------------+--------+---------+-------+------+-------------+ 1 row in set (0.06 sec) mysql> EXPLAIN SELECT * FROM sales WHERE status='archived'; # query 2 +----+-------------+-------+------+---------------+------+---------+------+-------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra      | +----+-------------+-------+------+---------------+------+---------+------+-------+-------------+ | 1 | SIMPLE     | sales | ALL | status       | NULL | NULL   | NULL | 65690 | Using where | +----+-------------+-------+------+---------------+------+---------+------+-------+-------------+ 1 row in set (0.01 sec) |
The cardinality of status index is woeful, but provided that the application […]
Sep 25, 2009 |
MySQL, Percona Events
Our Santa Clara/San Francisco training went great – 100% of survey respondents said they would recommend the same course to a friend. I’m pleased to announce that such an opportunity exists – our next training location will be New York City on October 30, 2009. We’ve booked a training venue in the financial district of […]
Sep 24, 2009 |
MySQL, Percona Events
This is a quick announcement to say that I’ll be speaking at HighLoad++ this year (October 12-14 in Moscow). I’ll be presenting on a few topics: MySQL Performance Tuning (Conference Session) Quick Wins with Third Party Patches for MySQL (Conference Session) Performance Optimization for MySQL with InnoDB and XtraDB * (Full day class) This will […]
Sep 10, 2009 |
Percona Events
Today’s the day I fly to Los Angeles to teach a private training class, en route to Santa Clara/San Francisco for our public training workshops next week.
Our Montreal practice teach at Station-C went great – it was an opportunity to do a road test and iron out any kinks in the delivery.
What did I learn in the process?
Aug 26, 2009 |
Percona Events
I wanted to write a few administrative updates in one so I didn’t spam everyone’s feed readers too much. Here we go: We’ve had reports of some lost comments. Â We reported this via Twitter a while ago, but thought it was fixed. Â We’ll try and pay more attention to spam filtering, but we wanted to […]
Aug 13, 2009 |
Percona Software
Note: This post is part 2 of 4 on building our training workshop. Last week I talked about why you don’t want to shard. This week I’m following up with the top 10 enhancements that XtraDB has over the built-in InnoDB included in MySQL 5.0 and 5.1. Building this list was not really a scientific […]
Aug 06, 2009 |
Insight for Developers
Note: This blog post is part 1 of 4 on building our training workshop.
The Percona training workshop will not cover sharding. If you follow our blog, you’ll notice we don’t talk much about the subject; in some cases it makes sense, but in many we’ve seen that it causes architectures to be prematurely complicated.
So let me state it: You don’t want to shard.
Optimize everything else first, and then if performance still isn’t good enough, it’s time to take a very bitter medicine. The reason you need to shard basically comes down to one of these two reasons
Aug 04, 2009 |
Percona Events
Today, we are announcing that we’re ready to offer training for InnoDB and XtraDB in Santa Clara and San Francisco. The course was developed by Morgan Tocker with input from all our team – and covers a lot of the performance problems we run through in our consulting practice. The Details: 14th Sept – Santa […]
Jul 21, 2009 |
Insight for DBAs
We’ve written about replication slaves lagging behind masters before, but one of the other side effects of the binary log being serialized, is that it also limits the effectiveness of using it for incremental backup. Let me make up some numbers for the purposes of this example: We have 2 Servers in a Master-Slave topology. […]
Jul 13, 2009 |
Cloud
The question “what problems will I have when migrating to the cloud” gets asked often enough. If by cloud you mean Amazon EC2, then from a technical perspective there isn’t much that changes. The biggest thing that changes is just how you pay your bill. Having said that, there’s still a few potential gotchas: There […]
Jul 07, 2009 |
Insight for DBAs
It seems pretty common to find customers install DRBD for the wrong reasons. There are many pros/cons to compare DRBD to replication, but I’ve managed to cut down my spiel I give to customers to these two points: DRBD’s aim (assuming replication mode C) is to provide 100% consistency, and then as much uptime as […]
Apr 22, 2009 |
Percona Events
Having trouble finding the Percona Performance Conference? It’s upstairs near where the registration desk was (aka above the exhibition hall). Hope to see you there today & tomorrow!
Apr 20, 2009 |
Percona Events
This year we’ve assembled a team of seven Perconian representatives for the MySQL Conference & Expo/Percona Performance Conference. If you like a particular blog post we’ve written over the last year, have any other feedback, or just want to say hello – we’d like to meet you! From left to right; Morgan, Ewen, Baron, Vadim, […]