Tuesday, February 5th was an important day in the MySQL ecosystem due to the release by Oracle of the long-awaited MySQL 5.6 GA. Many MySQL users have been looking forward to this release in order to benefit from the improved performance and scalability. Features such as online operations/schema changes, NoSQL access from memcached to InnoDB, multi threaded-replication and Global Transaction ID significantly improve the competitiveness of MySQL.
With data volumes and user populations growing, its no wonder that database performance is a hot topic in developer and DBA circles.
Its also no surprise that continued performance improvements were one of the top design goals of the new MySQL 5.6 release which was declared GA on February 5th (note: GA means “Generally Available”, not “Gypsy Approved” @mysqlborat)
And the performance gains haven’t disappointed:
- Dimitri Kravtchuk’s Sysbench tests showed MySQL delivering up to 4x higher performance than the previous 5.5 release.
- Mikael Ronstrom’s testing showed up to 4x better scalability as thread counts rose to 48 and 60 …
[Read more]
MySQL Tech Tour: From the Web to the Cloud
March 20, 2013, Stockholm, Sweden
Are you looking to deploy MySQL-based applications either
on-premise or in the cloud?
Join us to learn how you can reduce costs and improve business
agility while achieving the highest levels of MySQL scalability,
security and uptime.
We will help you better understand:
- Why MySQL has become the leading database in the cloud, and how it addresses the critical attributes of cloud-based deployments
- How ISVs can power their SaaS offerings with MySQL
- What are the best practices to deploy the world’s most popular open source database in public and private clouds
You will also find out:
- How you can leverage MySQL together with Hadoop and other technologies to unlock the value of Big Data, either on-premise or in the cloud …
This article is the second in a series on data fabric design and
introduces the transactional data service design pattern.
The previous article in this series introduced
data fabrics, which are collections of off-the-shelf DBMS servers
that applications can connect to like a single server. They
are implemented from data fabric design patterns, which are
reusable arrangements of DBMS servers, replication, and
connectivity. With this article we begin to look at
individual design patterns in detail.
Description and Responsibilities
The transactional data service is a basic building block of data
fabric architectures. A transactional data service is a
DBMS server that processes transactions submitted by applications
and stores data safely. Transactional data services have
the …
Ever run into a problem where an application's Master is
accepting all the writes and the master's slaves lags? Ever had
this same problem yet the Slave has a raid array of very fast
SSDs? You must be thinking to yourself, "I call BS, Dathan; a SSD
drive can do crazy IOPS". No, it's true and the reason is that
mySQL only has two threads for replication.
Thread 1 is called the IO thread and its job is to download the
binary logs from the server's master into relay logs on the
slave. This is rarely a bottleneck since this is typically
sequential disk access. Thread 2 is called the SQL thread. It's
job is to take the data which was downloaded from the IO thread
and apply it. Since there is 1 thread applying the SQL and that 1
thread has to read each row before writing it (that is just how a
write works), that 1 Thread just couldn't move fast enough or use
enough resources by itself and lags.
Here are my findings. …
Tungsten clusters use the Tungsten Connector to ensure your applications transparently connect to the master. This enables failover and seamless switching of masters for maintenance. However, you can do far more. Tungsten Connector allows you to make better use of hardware by load balancing SQL traffic to slaves. There is also a wealth of configuration settings to help Tungsten Connector manage
MySQL Server 5.6 GA has several new features. These new features are supported in the latest version of Connector/Net 6.6.5. We'll review them into a brief introduction and example about how to use them inside any .Net Application.
On Friday, February 15, 2013 10:00am Pacific Standard Time, I will be delivering a webinar entitled “Building a highly scaleable distributed row, document or column store with MySQL and Shard-Query”
The first part of this webinar will focus on why distributed databases are needed, and on the techniques employed by Shard-Query to implement a distributed MySQL database. The focus will then proceed to the types of distributed (massively parallel processing) database applications which can be deployed with Shard-Query and the performance aspects of each.
The following types of implementations will be described:
- Distributed row store using XtraDB cluster
- Distributed append-only column store …
It came up twice in two days: if you do not specify the user name when connecting, what gets picked?
The manual says:
"On Unix, most MySQL clients by default try to log in using the
current Unix user name as the MySQL user name, but that is for
convenience only."
http://dev.mysql.com/doc/refman/5.6/en/user-names.html
"The default user name is ODBC on Windows or your Unix login name
on Unix."
http://dev.mysql.com/doc/refman/5.6/en/connecting.html
Let's be a little more specific. The relevant section of code is in libmysql/libmysql.c
On Linux, we check the following in this order:
- if (geteuid() == 0), user is "root"
- getlogin()
- getpwuid(geteuid())
- environment variables $USER, $LOGNAME, …
On a RHEL 6.3 server, we are running MySQL 5.1 (not MariaDB, not the Percona patched version, plain old regular MySQL):
$ rpm -qa | egrep -i "percona|maria|mysql" | sort
mysql-5.1.61-4.el6.x86_64
mysql-libs-5.1.61-4.el6.x86_64
mysql-server-5.1.61-4.el6.x86_64
percona-toolkit-2.1.8-1.noarch
percona-xtrabackup-2.0.5-499.rhel6.x86_64
perl-DBD-MySQL-4.013-3.el6.x86_64
$
We went to do a system update today, and had a problem with dependencies, because the Percona repository wants to replace mysql-libs with Percona’s shared libraries. How rude!
# yum update mysql-libs
Loaded plugins: downloadonly, rhnplugin, security
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package Percona-Server-shared-51.x86_64
0:5.1.67-rel14.3.506.rhel6 will be obsoleting
---> Package …