Percona is glad to announce the release of Percona XtraBackup 2.1.0-rc1 on May 7, 2013. Downloads are available from our download site here. For this RC release, we will not be making APT and YUM repositories available, just base deb and RPM packages
This is an Release Candidate quality release and is not intended for production. If you want a high-quality, generally available release, the current stable version should be used (currently[Read more...]
After compiling Percona Server with TokuDB, of course I wanted to compare InnoDB performance vs TokuDB.
I have a particular workload I’m interested in testing – it is an insert-intensive workload (which is TokuDB’s strong suit) with some roll-up aggregation, which should produce updates in-place (I will use INSERT .. ON DUPLICATE KEY UPDATE statements for that), so it will produce all good amount of reads.
A few words about the hardware: I am going to use new the Dell PowerEdge R420 with two Intel(R) Xeon(R) CPU E5-2450 0 @ 2.10GHz, 48GB of RAM and SATA SSD: Kingston HyperX 3K 240 GB.
Workload: I will use two different schemas. The first schema is from sysbench, and
This week we discuss Tungsten and MySQL 5.6 replication with friend of the show, Giuseppe Maxia (aka the Data Charmer). Ear Candy is MariaDB's Cassandra storage engine, and At the Movies is Giuseppe's "MySQL 5.6 Replication – features and usability" video from Open Database Camp.
DB Hangops in May will be Wed May 8th and 22nd.
Upcoming MySQL tech tours (http://www.mysql.com/news-and-events/events/)
oak-online-alter-table Changes / bug fixes include:
Percona XtraBackup 2.0.7 was released May 6.
Percona is glad to announce the release of Percona XtraBackup 2.0.7 for MySQL on May 6, 2013. Downloads are available from our download site here and Percona Software Repositories. Percona XtraBackup is the world’s only open-source, free MySQL hot backup software that performs non-blocking backups for InnoDB and XtraDB databases.
This release is the current GA (Generally Available) stable release in the 2.0[Read more...]
Back when the first version of the MariaDB Java Client was released, someone asked in the comments about the performance characteristics of the driver compared to ConnectorJ. I answered with hand-waving, saying that nobody does anything stupid, the performance of the drivers would be roughly the same, but I promised to measure it and tell the world one day. And now that day has come. The day where three MySQL JDBC drivers (ConnectorJ, MariaDB JDBC, and Drizzle JDBC) are compared against each other. Unlike the server, which gets benchmarking attention all the time, there is no standard benchmark for connectors, so I needed to improvise, while trying to keep the overhead of the server minimal. So I did something very primitive to start. I used my two favorite queries:
DO 1— this one does not retrieve a result set, and thus can be seen as a small
Whether you are a developer who wants to use MySQL and PHP to build and maintain websites or if you want to learn how MySQL and PHP can be used for the rapid prototyping and development of dynamic websites, the MySQL and PHP - Developing Dynamic Web Applications training course is for you.
This four day, live, instructor-led course is available as a:
In my previous post, I wrote about when data gets loaded in and out of cache. The goal of caching is to avoid having to perform disk IO, which if we are talking about hard drives, each operation is about 20 million times slower than CPUs or about 100 thousand times slower than memory.
So today I want to cover the subject of when are we required to do IO? But before I get there I first have to describe how IO works on all our modern operating systems.
When you read or write to a file, by default you are speaking to a layer in between you and your disks called buffered IO. This layer is designed to increase performance and adds important features such as caching. Without going into this in detail, it’s important to[Read more...]
dm-cache is (albeit still classified “experimental”) is in the just released Linux 3.9 kernel. It deals with generic block devices and uses the device mapper framework. While there have been a few other similar tools flying around, since this one has been adopted into the kernel it looks like this will be the one that you’ll be seeing the most in to the future. It saves sysadmins the hassle of compiling extra stuff for a system.
A typical use is for an SSD to cache a HDD. Similar to a battery backed RAID controller, the objective is to insulate the application from latency caused by the mechanical device, the most laggy part of which is seek time (measured in milliseconds). Giventhe relatively high storage capacity of an SSD (in the hundreds of GBs), this allows you to mostly disregard the mechanical latency for writes and that’s very useful for[Read more...]
This is the required post about things I observed during this years MySQL conference.
Things that are awesome:
Things that can be improved:
Things that just bumped me:
Cherry-picking from the Change log:
--bind_addressto complement the effects of
In my ongoing quest to completely understand InnoDB’s data storage, I came across a quite small and inconsequential waste, which is nevertheless fun to write about. I noticed the following block of pages which were allocated very early in the ibdata1 system tablespace but apparently unused (unnecessary lines removed from output):
$ innodb_space -f ibdata1 space-page-type-regions start end count type 13 44 32 ALLOCATED
Most people using InnoDB have heard of the “doublewrite buffer”—part of InnoDB’s page flushing strategy. The doublewrite buffer is used as a “scratch area” to write (by[Read more...]
I attended the OpenWest Conference in Orem, Utah, and have to say its one of the best community organised conferences. There were over 840+ people at the conference (with more walk-in’s), representing a greater than 100% growth rate compared to last year’s conference.
I gave a talk about MariaDB, and its safe to say that we’ve got many new features that that it’s getting very hard to go in-depth in a span of an hour.
One of the highlights for me was attending talks. I give so many talks, and spend a lot of time talking to people about MariaDB and MySQL, that I very[Read more...]
A few days ago I was doing some cleanup on a passive master database using the MySQL client. I didn't want my commands to be replicated so I executed
set sql_log_bin=0 in my session.
One of my queries dropped an unused schema that I knew was corrupt, so I wasn't too surprised when the
drop database command crashed the MySQL server. After the crash, the server came back up quickly, and my client automatically reconnected, so it was safe to keep running queries right?
When the client reconnected I lost my session state, so
sql_log_bin reverted to 1, and any commands I ran from that point forward would be replicated, which I did not want.
This behavior makes sense, and it's documented in the manual:[Read more...]
This is the first screen after a sucessful Drupal 7.22 install.Drupal is a content management system that runs at least 2.1% of all websites(1). It is easy to use, extensable with over 20,000 add-ons, and runs beautifully with a LAMP stack.
At the heart of most Drupal sites is a MySQL database with, as of Version 7.22, 76 tables. Recently I was asked what needs to be done to a ‘generic’ Drupal to get it running on MySQL 5.6. It is a very easy update that provides better performance, security, and allows access to the newest MySQL 5.6 updates.
For this example, the generic box is a two CPU Dell x86_64 box running Centos 6.4. This is fairly typical of what a[Read more...]
Teradata Q1 disappoints. Actian acquires ParAccel. And more.
For 451 Research clients: Acquisitive Actian adds ParAccel to its growing database portfolio bit.ly/YgeY7k
— Matt Aslett (@maslett) April 29, 2013
For 451 Research clients: Tokutek releases TokuDB database storage engine as open source bit.ly/102xsSW
— Matt Aslett (@maslett) May 1, 2013
For 451 Research clients: Codership replicates partnership success with Galera Cluster for MySQL bit.ly/15dI8Hh
— Matt Aslett (@maslett)
News and views are an integral part of our modern daily life. When it comes to the information-hungry roles such as database professionals, such need becomes more pressing. Log Buffer is one way to keep abreast of news and views from the world of Oracle, SQL Server, and MySQL.
There is a significant update SLOB 2, Kevin Closson informs.
Charles Hooper is grouping Data Sets by Week Number of the Month.
Chris Antognini has shared a script that is used to demo ITL deadlocks.
MySQL Enterprise Backup (MEB) was born 3 years ago as a newly branded avatar of InnoDB Hot backup. Wanted to share what has gone on so far, how we at Oracle think about backup, the milestones that we have achieved and the road ahead. The idea for this blog came to me after looking at Mikael's latest blog. While Mikael talks about MySQL, I want to talk about MEB.
When we started with InnoDB Hot backup the first challenge was to have it adhere to the development, quality and release processes for MySQL. This meant creating a quality plan, getting it into the development trees of MySQL and ensuring that each piece of new code went through architecture and code review. Though the initial implementer and architect of Hot backup continues to work with the MEB team, there[Read more...]
On a regular basis I plan to summarize the latest news from MySQL Engineering. I hope you find it useful.
April highlights were the DMR’s coming out for both MySQL Cluster 7.3.2 and MySQL Server 5.7.1. For those that have been missing the launchpad versions of those, I apologize for the delay, but they should be there now if you want to dig into the changeset details. And to repeat what I’ve said in the past, there should not be a delay between releases on launchpad and src tar balls, so please keep bugging me when you see glitches there. Personally I also very much enjoyed the April Percona conference where I met a lot of old good friends and gave a keynote. You can[Read more...]
This afternoon, Arjen Lentz and I were discussing InnoDB’s behavior without a declared PRIMARY KEY, and the topic felt interesting enough and undocumented enough to warrant its own short post.
In The physical structure of InnoDB index pages I described how “Everything is an index in InnoDB”. This means that InnoDB must always have a “cluster key” for each table, which is normally the PRIMARY KEY. The manual has this to say in Clustered and Secondary Indexes:
If the table has no PRIMARY KEY or suitable UNIQUE index, InnoDB internally generates a hidden clustered
A cold cache, or a poorly tuned cache can be responsible for a number of performance problems. If we look at the data and indexes of InnoDB, the cache responsible is called the InnoDB buffer pool.
In earlier versions of MySQL the default value for the setting
innodb_buffer_pool_size was 8M - which is a little out of date when you consider the recommended value to be 50-80% of system memory. In MySQL 5.5 the default value was increased to 128M, which is a comprimise made for users that may install MySQL on a development machine and not have it running as a dedicated server. In production, it is unlikely that you will buy a new server with less than 64GB of RAM, so it is quite typical that this setting is 50GB+
So lets talk about the behavior of the InnoDB buffer pool -
When MySQL[Read more...]
The MariaDB project is pleased to announce the immediate availability of the MariaDB Java Client 1.1.2. This is a Stable (GA) release. See the Release Notes and Changelog for detailed information on this release and the About the MariaDB Java Client page in the AskMonty Knowledgebase for general information about the client.[Read more...]