by Matt Yonkovit | Nov 11, 2009 | Benchmarks, Cloud, MySQL
Continuing my look at Tokyo Tyrant/Cabinet and addressing some of the concerns I have seen people have brought up this is post #2. #2. As your data grows does Tokyo Cabinet slow down? Yes your performance can degrade. One obvious performance decrease with a larger...
by Matt Yonkovit | Oct 19, 2009 | Benchmarks, Cloud, MySQL
This is part 3 of our series. In part 1 we talked about boosting performance with memcached on top of MySQL, in Part 2 we talked about running 100% outside the data with memcached, and now in Part 3 we are going to look at a possible solution to free you from the...
by Morgan Tocker | 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: CREATE TABLE `sales`...
by Matt Yonkovit | Oct 16, 2009 | Benchmarks, Cloud, MySQL
Part 1 of our series set-up our “test” application and looked at boosting performance of the application by buffer MySQL with memcached. Our test application is simple and requires only 3 basic operations per transaction 2 reads and 1 write. Using...
by Matt Yonkovit | Oct 15, 2009 | Benchmarks, Cloud, MySQL
All to often people force themselves into using a database like MySQL with no thought into whether if its the best solution to there problem. Why? Because their other applications use it, so why not the new application? Over the past couple of months I have been...
by Ryan Lowe | Sep 16, 2009 | Insight for DBAs
We often encounter customers who have partitioned their applications among a number of databases within the same instance of MySQL (think application service providers who have a separate database per customer organization … or wordpress-mu type of apps). For...
by Yasufumi Kinoshita | Sep 15, 2009 | Benchmarks, Percona Software
As you may know, InnoDB has 2 limits for unflushed modified blocks in the buffer pool. The one is from physical size of the buffer pool. And the another one is oldness of the block which is from the capacity of transaction log files. In the case of heavy updating...
by Peter Zaitsev | Sep 12, 2009 | Insight for Developers
I often see people confuse different ways MySQL can use indexing, getting wrong ideas on what query performance they should expect. There are 3 main ways how MySQL can use the indexes for query execution, which are not mutually exclusive, in fact some queries will use...
by Baron Schwartz | Aug 29, 2009 | Insight for Developers
I have run into a number of cases recently that all had a similar look and feel. In most of these cases, the symptoms were very complicated, but they boiled down to just a few problems that can be prevented in very simple ways. If you are not doing any of the...
by Morgan Tocker | 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. ...
by Morgan Tocker | Aug 6, 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...
by Vadim Tkachenko | Jul 31, 2009 | Percona Software
The feature I announced some time ago https://www.percona.com/blog/2009/06/08/impossible-possible-moving-innodb-tables-between-servers/ is now available in our latest releases of XtraBackup 0.8.1 and XtraDB-6. Now I am going to show how to use it (the video will be...
by Vadim Tkachenko | Jul 19, 2009 | Insight for DBAs
In your recovery practice we often face the problem when data lost by execution DROP TABLE or DROP DATABASE statement. In this case even our InnoDB Data Recovery tool can’t help, as table / directory with files was deleted (if you have innodb-file-per-table)....
by Morgan Tocker | 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...
by Morgan Tocker | Jul 7, 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...
by Peter Zaitsev | Jul 6, 2009 | Insight for Developers
One of the most typical reasons for performance and scalability problems I encounter is simply failing to do the math. And these are typically bad one because it often leads to implementing architectures which are not up for job they are intended to solve. Let me...
by Ryan Lowe | Jun 26, 2009 | Insight for DBAs
With the growing adoption of Google’s User Statistics Patch**, the need for supporting scripts has become clear. To that end, we’ve created check-unused-keys, a Perl script to provide a nicer interface than directly querying the INFORMATION_SCHEMA...
by Baron Schwartz | Jun 15, 2009 | Insight for DBAs
When I’m looking at a server, I often want to see the /etc/my.cnf file nicely formatted, and with comments stripped. This Perl one-liner will pretty-print the file: perl -ne 'm/^([^#][^\s=]+)\s*(=.*|)/ && printf("%-35s%s\n", $1, $2)' /etc/my.cnf [client]...
by Vadim Tkachenko | Jun 11, 2009 | Insight for DBAs
Playing with TokuDB updates I noticed in SHOW PROCESSLIST unsual for MySQL State. mysql> show processlist; +----+------+-----------+--------+---------+------+---------------------------+-----------------------------+ | Id | User | Host | db | Command | Time | State...
by Baron Schwartz | Jun 5, 2009 | Insight for DBAs
I wanted to share a little rule of thumb I sometimes use to choosing column order in indexes. This is not specific to MySQL, it’s generally applicable to any database server with b-tree indexes. And there are a bunch of subtleties, but I will also ignore those...