Multi-threaded replication is a new feature introduced in MySQL 5.6 and MariaDB 10.0. In traditional single-threaded replication, the slaves have a disadvantage as they have to process in sequence what a master executed in parallel. This, plus the fact that slaves usually have a lot of read-only connections to deal with as well, can easily create performance problems. That is, a single-threaded slave needs to be set to allow fewer connections, otherwise there’s a higher risk of it not being able to keep up with the replication stream. There is no exact rule for this, as it relates to general I/O capacity and fsync latency, as well as general CPU and RAM considerations and query …
[Read more]Percona is pleased to announce the availability of Percona Toolkit 2.2.12. Released on November 14, Percona Toolkit is a collection of advanced command-line tools to perform a variety of MySQL server and system tasks that are too difficult or complex for DBAs to perform manually. Percona Toolkit, like all Percona software, is free and open source.
This release is the current GA (Generally Available) stable release in the 2.2 series. Downloads are available here and from the Percona Software …
[Read more]
The Query Analyzer (QUAN) is one of the
flagship features of the MySQL Enterprise Monitor (MEM). I wanted to take a
few minutes to walkthrough a complete simulated example in order
to demonstrate just how incredibly useful it is for becoming
aware of problems, identifying the cause, and in finally fixing
the issue.
First, I created a simple MEM test environment:
[root@mylab matt]# cat createsimpletestenv.sh
#!/bin/sh
echo -n "Stopping any default mysqld instance..."
/etc/init.d/mysqld stop echo " done."
echo -n "Setting up fresh mysqld setup..." cp -R
/var/lib/mysqlfresh /var/lib/mysql chown -R mysql:mysql
/var/lib/mysql* echo " done."
echo -n "Starting fresh default mysqld instance..."
/etc/init.d/mysqld start echo " …
MongoDB has always been about ease of use. With nothing more than
the mongod binary, starting a MongoDB server is as simple
as:
./mongod --dbpath=/path/to/dataAs a long time user of Oracle and
MySQL I'm extremely impressed by just how simple this is. It
certainly encourages new users to try it out.
In MongoDB 2.6 and earlier there has only been a single "storage
engine" available in the server. That storage engine has very few
tunable parameters, so the defaults are fine for most users. If
you don't like the defaults you can probably change them with a
little review of the documentation.
MongoDB 2.8 adds the ability to support an unlimited number of
storage engines via a storage engine API. Using the alternative
WiredTiger storage engine is as simple as asking
for it on the command line:
./mongod --dbpath=/path/to/data --storageEngine …
Even if a Galera node looks like a regular MySQL server, the underlying replication mechanism is very different. This implies some changes in the way you have to configure the Galera nodes. Here are some of the most common misconceptions about Galera when using Percona XtraDB Cluster.
Q: Why should I enable binary logging as it is not needed by
Galera replication?
Unlike for regular asynchronous MySQL replication, it is true
that you don’t need to enable binary logging to use Galera
replication. However what if someone runs an accidental
DROP TABLE?
In this case, the statement will be replicated immediately on all nodes. Then your main option to recover lost data is to use a backup. But if binary logging is not …
[Read more]It was very fun for me to read last week the announces about RDS Aurora - specially the parts related to its performance gain over MySQL: Aurora is claimed to show x5 times better performance than MySQL! However, without publishing any details about ;-) -- and the only details I was able to find until now and group together are the following:
- Aurora is a proprietary closed source database engine, "compatible" with MySQL (so, not an improved MySQL fork, as many expected..)
- Sysbench workloads were used to evaluate Aurora performance
-
the only currently published Sysbench results are the following:
- 500K SELECT/sec
- 100K UPDATE/sec
…
What can explain mysterious slowdowns in database performance?
Sometimes it’s not the database or the queries it’s running, but
the non-database activity on the server. One of the most
important types of activities to analyze is processes. That’s why
VividCortex tracks process activity, including per-process CPU,
memory, and I/O, in 1-second detail. It’s like a historical view
of top, and you can view it across your entire
environment in a single screen, then drill down to individual
servers and programs. If you see interesting regions you can
click and drag with the mouse to zoom in and correlate. You can
rank and sort by any of the per-process metrics we capture, and
you can mouse over the sparklines to see the instantaneous rate,
second by second.
Try it yourself! One thing I can almost guarantee is that you’ll find something suprising immediately. …
[Read more]I know of seven DBMSs that support GET DIAGNOSTICS: DB2, Oracle Rdb, MySQL, MariaDB, PostgreSQL, Teradata, …
[Read more]While working with MySQL Cluster, i was looking for a monitoring framework for the cluster.
i came across a library @ https://launchpad.net/ndb-bindings – which had java and other connectors to NDB, the library was a wrapper of the existing C++ NDB Api.
This library allowed me to connect to the management node , get the state of the cluster and get real time notifications about heartbeat misses/node disconnections.
The library error-ed out on some conditions, with a small fix, it can work with MySQL Cluster 7.3.
https://github.com/jaihind213/mysql-cluster-ndb-bindings
I have listed down steps for compilation and running a sample program at github
This presentation from the MySQL/NoSQL/Cloud Conference in Latin America provides my experiences of the most common problems managing MySQL Operations in general with customers, and a number of current problems experienced recently.
Many consider the ease of installation and use of MySQL as a selling point, however MySQL installation is not install and forget. It sounds simple, however there are many important decisions that have long lasting effects. The choice of version, choice of repo, choice of variant is just the beginning.
The appropriate configuration before any application uses the MySQL instance is also …
[Read more]