As I promised a week ago, I’m publishing results of my little MySQL survey.
Question that people (including me) are probably the most
interested in is what variant(s) of MySQL are people using. No
big surprise is that the most used variant (89%) is MySQL
Community Server from Oracle. It’s well known default, people
know what to expect and administrators golden rule is don’t touch
it if it works. And other variants build on top of it
anyway.
Second place (20%) belong to MariaDB. That is answer I also kind
of expected. MariaDB guys are verbose and visible. At least I saw
much more people talking about MariaDB then about Percona. Part
of it might be that they position themselves as kind of MySQL
competitor. Oracle is big controversial company. Sometimes we
hate them (they killed OpenOffice!), sometimes we love them …
There’s a webinar this Wednesday (9 am Pacific; 5 pm UK; 6 pm CET) that explains what’s new in the MySQL Cluster Development Milestone Release – register here for free access.
Join this session to learn about the latest enhancements to the MySQL Cluster database, enabling even more of the latest generation of web, telecoms and embedded applications to take advantage of high write scalability, SQL and NoSQL interfaces and 99.999% availability.
New capabilities include:
- 70x higher JOIN performance for the latest generation of web applications using Adaptive Query Localization, enabling real-time analytics across live data sets
- New NoSQL interface via memcached to further enhance …
In openSUSE we’ve got currently MySQL Community Server, MariaDB
and MySQL Cluster. From all of these we have even multiple
versions. Although these packages are different, they are quilte
similar. So I’m handling them in a little bit special way.
When I was adding MariaDB I knew that packaging will be quite
similar to the MySQL Community Server. So I took some parts of
.spec file away into separate files so I can sync
them easily and left only package dependent parts in
.spec files. Later on, I created special git
repository and few scripts to handle patches and patch sharing
among these variants. And lately I automatized tre rest of the
manual syncing I was diong. So today I want to present how do I
do MySQL packaging today. And that is also some tutorial on how
you can modify these packages easily or even create packages for
other variants like Percona
Everything starts with …
In our last episode we looked at transactions and how to create them. In this episode I'll look at some of the implications of transactions, especially in a web application.
Transactions and Replication
We will discuss replication in depth later in the series, however it is sufficient for the moment to say that replication allows you to copy data in near real-time between MySQL servers and keep them synchronised. What gets transferred are the changes that are made to your tables and data. So what about rolled-back (aborted) transactions? Since the state after the rollback is essentially the same as the state before the transaction started, there seems little point in replicating those statements. Indeed they are not replicated. Only completed transactions are.
I briefly mentioned that …
[Read more]This is the title of my first blog post on MySQL Performance Blog. It deals with a customer case where the customer was facing a peculiar problem where the rows column in the EXPLAIN output of the query was totally off. The actual number of rows was 18 times more than the number of rows reported by MySQL in the output of EXPLAIN. Now this can be a real pain as MySQL uses “the number of rows” estimation to pick and choose indexes and it could really be picking up a wrong index simply because of the wrong estimate. You...
The post When EXPLAIN estimates can go wrong! appeared first on ovais.tariq.
Percona is glad to announce the release of Percona Server 5.1.59-13.0 on October 15, 2011 (Downloads are available here and from the Percona Software Repositories).
Based on MySQL 5.1.59, including all the bug fixes in it, Percona Server 5.1.59-13.0 is now the current stable release in the 5.1 series. All of Percona’s software is open-source and free, all the details of the release can be found in the 5.1.59-13.0 milestone at Launchpad.
New Features InnoDB Fake Changes
When restarting a slave server in a replication environment, …
[Read more]Percona is glad to announce the release of Percona Server 5.5.16-22.0 on October 14, 2011 (Downloads are available here and from the Percona Software Repositories).
Based on MySQL 5.5.16, including all the bug fixes in it, Percona Server 5.5.16-22.0 is now the current stable release in the 5.5 series. All of Percona’s software is open-source and free, all the details of the release can be found in the 5.5.16-22.0 milestone at Launchpad.
New Features InnoDB Fake Changes
When restarting a slave server in a replication environment, …
[Read more]As I'm mostly using Oracle for work projects, the concept of the DUAL dummy table has become quite intuitive. I hardly ever think about the days when I was playing around with that table to find out its purpose (e.g. writing into it when DUAL was still a physical object, and thus killing the whole … Continue reading SQL Trouble with dummy tables →
I big thank you to the Rocky Mountain Oracle Users Group (RMOUG)
because, they invited me out for a night of MySQL for Oracle
DBA's. It was a great night. I took feedback from OOW and rebuilt
a presentation just for them. I also built out a hands on lab for
MySQL and let them loose...
Over those 2 hours we covered the basics of MySQL and everyone
got to get their hands into the MySQL 5.5 Database via the
command line. They then walked away with another hands on lab for
MySQL Workbench.
I wish them all the best and I appreciate the positive
feedback.
Keith
Unfortunately MySQL Proxy was no good source of inspiration today. MySQL Proxy can do many wonderful things which you can do with C based mysqlnd plugins as well. But not with PECL/mysqlnd_uh. PECL/mysqlnd_uh lets you write “plugins” in PHP. Given my desire to demo the power of mysqlnd plugins at the upcoming webinar Succeed with Plugins using PHP examples, I had to extend PECL/mysqlnd_uh to allow result set manipulation. Five brand new lines of magic.
class __mysqlnd_result extends MysqlndUhResult {
public function fetchInto($res, &$rows, $flags, $extension) {
$rows = array("Your mysqlnd has been hacked!");
}
}
mysqlnd_uh_set_result_proxy(new __mysqlnd_result());
…
[Read more]