The new MySQL 5.6 Development Milestone Release (DMR) includes
many new enhancements. One of the most impressive is the use of
Global Transaction Identifiers (GTIDs) for replication. With
GTIDs enabled, administrators no longer need to keep track of
binary log files and positions. In a nutshell, GTIDs simplify the
setup and maintenance of replication.
MySQL Utilities has taken this a step further by providing two
new utilities that automate two of the most complex replication
administration tasks - switchover and failover. Switchover is
changing the role of an active, healthy master to one of its
slaves whereas failover is the act of promoting a candidate slave
to become the new master. Clearly, switchover is an elective
operation and failover is performed when there are issues with
the master.
The GTID utilities are included in release-1.0.5 of MySQL
Utilities. They are included as a plugin for MySQL Workbench or
via …
I think every performance engineer in his life is time to time
meeting some curious performance problems within an application
(not only MySQL) which is looking out of understanding and over a
time only continuing to increase a headache.. (until not
resolved, of course.. ;-))
I've met many of them in the past while working in the Sun
Benchmark Center, but did not expect to meet it so soon once
started my official work in MySQL team ;-))
The problem is looked as simple as nothing else, and that's why
it was several time more painful than anything else too
:-))
Let me explain: since of the beginning of this year I've got for
MySQL performance testing a 32cores (bi-thread) Intel server
running Oracle Linux. And ss soon I've got it, I've deployed my
tools on it and started my tests..
The main surprise for me came on the Read-Only test:
- what can me more simply than Read-Only …
The MySQL Developer Tools team is announcing the next maintenance
release of its flagship product, MySQL Workbench, version 5.2.39.
This version contains MySQL Utilities 1.0.5, a set of command
line Python utilities for helping to perform and script various
administration tasks for MySQL. A complete list of changes in
this release of the Utilities can be found at:
http://dev.mysql.com/doc/workbench/en/wb-utils-news-1-0-5.html
MySQL Workbench 5.2 GA
• Data Modeling
• Query (replaces the old MySQL Query Browser)
• Administration (replaces the old MySQL Administrator)
Please get your copy from our Download site.
Sources and binary packages are available for several platforms, including Windows, Mac OS X and Linux.
…
[Read more]
As the Product Manager for the MySQL database it is always great
to announce when the MySQL Engineering team delivers another
great product release. As a field DBA and developer it is
even better when that release contains improvements and
innovation that I know will help those currently using MySQL for
apps that range from modest intranet sites to the most highly
trafficked web sites on the web. That said, it is my
pleasure to take my hat off to MySQL Engineering for today's
release of the MySQL 5.6.5 Development Milestone Release ("DMR").
The new highlighted features in MySQL 5.6.5 are discussed
here:
New Self-Healing Replication Clusters
The 5.6.5 DMR improves MySQL Replication by adding Global
Transaction Ids and automated utilities for self-healing
Replication clusters. Prior to 5.6.5 this has been somewhat
of a pain point for MySQL users with most developing custom
solutions or looking to costly, …
Master/slave replication is an important tool that gets used in many ways: distributing read loads among many slaves for performance, using a slave for backups so the master can handle live load, geographically distributed disaster recovery, etc. The Achilles’ Heal of slave performance is that slave workloads are single-threaded. The master can have many clients inserting, updating, querying, whereas the slave has only one insertion client: the master. InnoDB single-client performance is much slower than its multi-client performance, which means that the bottleneck in a master/slave system is often the rate at which a slave can keep up.
If the master has an average transactions per second (tps) that is higher than what the slave can handle, the slave will fall further and further behind. If the slaves are being used to distribute read workload, for example, the results they produce will fall further out of date. If a slave is used to …
[Read more]InnoDB team is pleased to announce the 2012 Spring labs release, with several much anticipated new features and performance enhancements. Please download mysql-5.6-labs-april-2012 from MySQL Labs and give a try. Do not forget to provide your feedback.
The 2012 Spring labs release on MySQL Labs consists of the following InnoDB new features, which are not in the newly released MySQL 5.6.5 DMR yet:
- Online DDL: some of the DDLs are now truly online, including ADD INDEX, SET DEFAULT, and DROP FOREIGN KEY.
- Memcached plugin: with additional features, such as SASL support.
- Transportable tablespace: allow user to export data files and import them into another MySQL instance.
- Persistent statistics ON/OFF switch: the ability of controlling persistent statistics on table …
MySQL 5.6.5 Development Milestone Release has a whole new set of
algorithms for processing subqueries. It is based on transforming
a subquery into a semi-join operation, and then treating
semi-join like another join operation throughout the
optimizer.
A subquery can be transformed to a semi-join if it matches these
criteria:
- The subquery is part of an IN or =ANY predicate. It cannot be e.g. NOT IN.
- The subquery consists of a single query block (it must not contain UNION).
- The subquery does not contain GROUP BY or HAVING.
- The subquery is not implicitly grouped (it contains no aggregate functions).
- The subquery predicate is part of a WHERE clause.
- The subquery predicate must not be part of a disjunctive nor a negated search condition.
- Neither query block contains the …
New feature: structured EXPLAIN
Probably, most of us tried to read the output of MySQL EXPLAIN
command at least once.
And probably many of us have decided, that it isn't so readable
and understandable as it has to be.
Some of us even tried to create or use external pretty-printing
programs and other complicated converters to make EXPLAIN's
output less cryptic, for example nice Percona's Visual Explain script.
But from now we have a native MySQL command that explains
query execution plan in a better human-readable and
machine-readable way: EXPLAIN FORMAT=JSON!
A trivial example, SELECT from a single table:
mysql> CREATE TABLE t1 (i INT, j INT);[Read more]
Query OK, 0 rows affected (0.00 sec)
…
A MySQL team focused on performance recently met in an internal
meeting to discuss and work on MySQL scalability issues. We had
gathered specialists on InnoDB and all its aspects of performance
including scalability, adaptive flushing and other aspects of
InnoDB, we had also participants from MySQL support to help us
understand what our customers need and a number of generic
specialists on computer performance and in particular performance
of the MySQL software.
The fruit of this meeting can be seen in the MySQL 5.6 labs
release april 2012 released today. We have a new very interesting
solution to the adaptive flushing problem. We also made a
significant breakthrough in MySQL scalability. On one of our lab
machines we were able to increase performance of the Sysbench
OLTP RO test case by more than 50% by working together to find
the issues and then quickly coming up with the solution to the
issues. Actually in one particular test case …
Having been rather desired for a while now, this feature is
finally available as of MySQL Server version 5.6.5. It started
out as the innocuous bug #27645 back in 2007, not really
commanding much attention from anyone. But since, the page has
seen around a hundred posts from users. This is a lot of posts
for a bug page.
When I got to work on this, I started out looking at how
functions in the default clause worked for the one supported
case, CURRENT_TIMESTAMP (a.k.a. NOW() in MySQL) for TIMESTAMP
columns. It turned out to be a little more complex than it had
to, the TIMESTAMP type has a lot of special rules attached to it
that no other types have, not even DATETIME.
One thing that struck me as a little odd was that you can only
have one column with a function in the default or on
update clause. So I had to take the decision how to deal with
that restriction as we introduced DATETIME DEFAULT
CURRENT_TIMESTAMP. Should we …