Join 29,000 others and follow Sean Hull on twitter @hullsean. Can RDS worsen an outage ?? That’s another way to think about this question. In my experience, it very clearly increases outages, by tying one or both hands behind your back. Believe me when I say, that is terribly frustrating when you’re putting out fires! […]
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
Breaking and unbreaking your data
Recently at FOSDEM, Maciej presented “Breaking and unbreaking your data”, a presentation about the potential problems you can incur regarding character encoding whilst working with MySQL. In short, there are a myriad of places where character encoding can be controlled, which gives ample opportunity for the system to break and for text to become unrecoverable.
The slides from the presentation are available on slideshare.
Character Encoding – MySQL DevRoom – FOSDEM 2015 from …
[Read more]https://lkml.org/lkml/2015/2/9/534
Building on the original kSplice idea and combining the efforts of the work done at Red Hat and SuSE, common infrastructure is now ready to be put into the Linux 3.20 mainline kernel – Red Hat and SuSE have already committed to using this.
I still reckon it’s freaky trickery, but heck – it works, and it’s great for server environments that have no redundancy (I prefer to fix that issue!) and can’t afford any downtime.
Section I: Fractal Tree and Optimization
Overview
Tokutek’s Fractal Tree® technology provides fast performance by
injecting small messages into buffers inside the Fractal
Tree index. This allows writes to be batched, thus eliminating
I/O that is required in traditional B-tree indexes for every
operation. Additional background information on how Fractal Trees
operate can be found in Zardosht Kasheff’s blog entitled,
TokuMX Fractal Tree Indexes, What Are They?
Don’t be thrown off by the title, Fractal Tree Indexes access
data in the same way for TokuDB as they do for TokuMX.
For tables whose workload pattern is a high number of sequential deletes, some operational maintenance is required to ensure consistently fast performance. If this is not done, delete messages and garbage can exist in the Fractal …
[Read more]Global Transaction IDs (GTIDs) are one of my favorite features of MySQL 5.6. The main limitation is that you must stop all the servers at the same time to allow GTID-replication. Not everyone can afford to take a downtime so this requirement has been a showstopper for many people. Starting with Percona Server 5.6.22-72.0 enabling GTID replication can be done without almost no downtime. Let’s see how to do it.
Implementation of the Facebook patch
Finding a solution to migrate to GTIDs with no downtime is not a new idea, and several companies have already developed their own patch. The 2 best known implementations are the one from Facebook and the one from …
[Read more]
The performance_schema is a powerful tool for analyzing MySQL
performance and behavior. One aspect of the performance_schema is
that the view of the data is "right now", and very little
historical information is present. You can see that there are 10
threads connected right now, but what about five minutes
ago?
ps_history
ps_history is a set of stored routines and events
for periodically collecting the data in the performance_schema
into another schema called ps_history. The ps_history schema
contains a copy of each performance_schema view as a real table,
and timestamp and server_id columns have been added to each
table. Periodically (by default every 30 seconds) the
performance_schema data is written into the history tables.
ps_history comes as one script (setup.sql) which will create the
ps_history schema, the tables within it, and …
The performance_schema is a powerful tool for analyzing MySQL
performance and behavior. One aspect of the performance_schema is
that the view of the data is "right now", and very little
historical information is present. You can see that there are 10
threads connected right now, but what about five minutes
ago?
ps_history
ps_history is a set of stored routines and events
for periodically collecting the data in the performance_schema
into another schema called ps_history. The ps_history schema
contains a copy of each performance_schema view as a real table,
and timestamp and server_id columns have been added to each
table. Periodically (by default every 30 seconds) the
performance_schema data is written into the history tables.
ps_history comes as one script (setup.sql) which will create the
ps_history schema, the tables within it, and …
Few times I heard from MySQL users, customers and Sales
consultants about their wish to have SQL command, allowing to
backup MySQL server. I asked why calling mysqbackup or
mysqldump does not work for them and these people had
reasons. One of them is security: this way you don't need to give
shell access to MySQL server for the person who is supposed to do
backup.
MySQL does not have such a command, except for MySQL Cluster.
There are instead multiple programs which can make backup if run
externally, such as mysqlbackup of mysqldump.
That time I wrote a UDF which runs any external command (https://github.com/svetasmirnova/run_external). So
customers could run something similar to:
mysql> SELECT
run_external(concat('$HOME/build/mysql-trunk/bin/mysqldump
--socket=', @@socket, ' …
In my previous post, I talked about implementing multi-threaded replication (MTR) using Percona Server 5.6. The server pairs that are utilizing MTR are also exclusively using the TokuDB storage engine.
I find TokuDB to be a fascinating engine. I can tell I will need to re-watch our Dbhangops session where Tim Callaghan talked about the differences between B-Tree and Fractal Tree indexes. There’s also a session on how compression works in …
[Read more]