Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский Português 中文
Previous 30 Newer Entries Showing entries 91 to 120 of 29665 Next 30 Older Entries
Open Source, the MySQL market (and TokuDB in particular)
+7 Vote Up -0Vote Down

I was reviewing the Percona Live sponsors list the other day and pondering the potential success stories associated with this product or that one…. and as I was preparing to put more thought on the topic, a PlanetMySQL post caught my eye. It was penned by Mike Hogan and titled, “Thoughts on Xeround and Free!

For some reason the author of that post makes a connection between a free account in a cloud-based service and Open Source software. I think it’s

  [Read more...]
Log Buffer #319, A Carnival of the Vanities for DBAs
+1 Vote Up -0Vote Down

This week again, the Log Buffer Edition covers the exciting and ever-evolving galaxies of Oracle, MySQL and SQL Server.

Oracle:

When does an Oracle process know it’s on Exadata?

MobaXterm 6.3 has been released. You can find the download and changelog in the usual place.

A new major release (version 3.0) of Randolf’s XPLAN_ASH tool is available for download.

Important !! Clustering Factor Calculation Improvement

  [Read more...]
InnoDB without PRIMARY KEY
+0 Vote Up -0Vote Down

Having an InnoDB table without a PRIMARY KEY is not good. Many have known this for years, but exact opinions as to why have differed. From observation, it was clear to me that it impacted performance.

InnoDB stores its row data in the leaf nodes of the primary key B+tree structure, that means that it can’t work without… so if you don’t specify a PK, it makes one up. Seems pretty innocuous and shouldn’t actually perform any worse than an auto-inc field. Except that in reality the performance can be much much worse. Annoying. Naturally we recommend clients to always have a PK (auto-inc, a composite of foreign keys, or if need be a natural key) but production systems cannot always be quickly changed, depending on the app code adding a column is not something you can just do at the DBA level.

Recently my good friend and former colleague Jeremy Cole, who has been delving

  [Read more...]
mysqldump now safe for InnoDB!
Employee +6 Vote Up -0Vote Down

It's now safe to backup InnoDB with mysqldump

Before MySQL 5.6, running mysqldump to make backup of InnoDB tables could cause your backup to 'loose' some data. The problem is described in our manual  here.

In latest MySQL 5.6 this is no longer a problem, this means you no longer risk 'loosing' data when using mysqlbackup together with DDL statements on your InnoDB tables. If you are interested in metadata-locking (MDL) you can read more about MDL  here.

To test this we need to create a few tables and also look at which order mysqldump processes tables.

mysql> CREATE DATABASE ted;
mysql> USE ted;
mysql> CREATE TABLE `a` (`i`







  [Read more...]
Twice as much RAM != Twice as Fast
+0 Vote Up -0Vote Down

We use Amazon RDS for database servers and historically have had a practice of having smaller database server in QA and DEV to save cost. I would consider this a pretty common practice - but what I have also discovered is that it can lead to fixing non-bugs, or issues that will not arrise in production.

Let me try and describe a (~) worst case and some simple math to illustrate:

Production

  • 10G of RAM
  • 100 IOPS Storage Device (single hard disk)
  • Workload is 100% reads
  • 10K queries/second

QA

  • 9G of RAM
  • 100 IOPS Storage Device (single hard disk)
  • Same workload (100% reads)
  • Can only do 1K queries/second!

Production is serving its 10K queries/second with a 100% cache hit rate, but with the 1G less RAM, QA is only able to serve with a 99% cache

  [Read more...]
MySQL Community Team at PHPTek, Drupalcon, Texas Linux Fest, SELF, Redhat Summit, and Lonestar PHP
Employee +2 Vote Up -0Vote Down

This is the start of the heavy travel season for the MySQL Community Team. So if you are attending PHPTek, Drupalcon, Texas LinuxFest, SELF, Redhat Summit, or Lonestar PHP please make sure to say ‘hi’ while you are in Chicago, Portland, Austin, Charlotte, Boston, or Addison. This group of trips is starting with a swag bag full of MySQL stickers, thumb drives, and ‘boogie bots’

MySQL Boogie Bots

    Talks

  • PHPTek – Ten Things to Make Your MySQL Servers Faster and Happier — May 16th, 2:45p – 3:45p
  • Texas Linuxfest – The Proper Care and Feeding of a MySQL Database for Linux Administrators — May 31st, 11:25a – 12:20p
  • SELF – Two full
  [Read more...]
Keeping your Drupal from Drooping — part 2
Employee +1 Vote Up -0Vote Down

So let’s clone our current Drupal 7.22 site from MySQL 5.1 that came with CentOS 6.4 and get it running on MySQL 5.6.

Upgrading MySQL 5.1 -> 5.6 has an official recommendation of making sure the intermediate 5.5 update is performed too. Please review Section 2.11.1 while you make a backup of all your data. Yes, you do have to make a backup. When you run the upgrade, there are tables in the mysql scehma that will be tweaked and skipping a step can make for a very messy late night in an attempt to recover.

An other thing to look for is that on occasion new reserved words are introduced that may conflict with column names in use in your schemas. So it pays to read through the release notes for new reserved words and then run a

  [Read more...]
Where to find the reunited Original MySQL Gang in the next few weeks!
+1 Vote Up -5Vote Down
SkySQL & Monty Program’s MariaDB Team coming to a city near you!

read more

Your databases in a glance with Glimpsee (sign up now!)
+0 Vote Up -0Vote Down

During the last months we’ve worked hard on a new and exiting project!

“We’re making it easier to show your databases in a glance”

 

I’m very proud to reveal the project for the first time because I am convinced that Glimpsee will change the way you “watch” the status of your databases…

Glimpsee is not another monitoring tool, it is the easiest way we’ve found to make DBA’s life easier.

I can’t say more about Glimpsee at this point but keep in mind these few words: simple, simple and… simple!

An alpha release of Glimpsee is already running for a lucky few. Register now to be the firsts to discover

  [Read more...]
Tungsten University: Introduction to Continuent Tungsten 2.0
+0 Vote Up -0Vote Down
Continuent Tungsten 2.0 is a major step forward that includes key feature improvements to help you manage very large datasets on MySQL. It also sets the stage for operation in cloud environments like Amazon. We cover the following details to help you plan for using the new release: Major improvements in Continuent Tungsten 2.0, including replication and connectivity upgrades Major improvements
MySQL 5.6: flushing potential
+0 Vote Up -0Vote Down
For some workloads the InnoDB performance model is very simple. It must flush dirty pages as fast as storage will allow. With a few more bug fixes InnoDB in MySQL 5.6 should be able to do that. The performance model becomes a bit more complicated when you consider that there are two reasons for sustaining a high rate of flushing dirty pages.

flush list

The flush list maintains pages in the order in which they were made dirty (see below for the fine print). This list only has dirty pages. Good reasons to flush dirty pages from the flush list include:

  • The percentage of dirty pages in the buffer pool exceeds innodb-max-dirty-pages-pct. These






  •   [Read more...]
    How to create a new (or repair a broken) GTID based slave with Percona XtraBackup
    +0 Vote Up -0Vote Down

    Percona XtraBackup 2.0.7 has been published with support for GTID based replication. As promised, here is the step-by-step guide on how to create a new GTID based slave (or repair a broken one) using XtraBackup. The process is pretty straightforward.

    1- Take a backup from any server on the replication environment, master or slave:

    # innobackupex /destination/

    In the destination folder there will be a file with the name xtrabackup_binlog_info:

    # cat xtrabackup_binlog_info
    mysql-bin.000002	1232
      [Read more...]
    Percona Ireland??
    +2 Vote Up -0Vote Down

    Anybody else noticed that Percona appears to not be a US entity any more?

    I observed it today.

    $ sudo /usr/bin/innobackupex ...
    InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
    and Percona Ireland Ltd 2009-2012.  All Rights Reserved.
    
    This software is published under
    the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
    

    In previous versions this did say Percona Inc, 2009-2012.

    The footer of the Documentation also states © Copyright Percona Ireland Ltd. 2009-2013.

    Benchmarking Postgres on AWS 4,000 PIOPs EBS instances
    +0 Vote Up -0Vote Down
    Introduction

    Disk I/O is frequently the performance bottleneck with relational databases. With AWS recently releasing 4,000 PIOPs EBS volumes, I wanted to do some benchmarking with pgbench and PostgreSQL 9.2. Prior to this release the maximum available I/O capacity was 2,000 IOPs per volume. EBS IOPs are read and written in 16Kb chunks with their performance limited by both the I/O capacity of the EBS volumes and the network bandwidth between an EC2 instance and the EBS network. My goal isn't to provide a PostgreSQL tuning guide, an EC2 tuning guide, or a database deathmatch complete with graphs; I'll just be displaying what kind of performance is available out-of-the-box without substantive tuning. In other words, this is an exploratory benchmark not a comparative benchmark. I would have liked to compare the performance of 4,000 PIOPs EBS volumes with 2,000

      [Read more...]
    Configuring InnoDB for MySQL 5.6: innodb_io_capacity, innodb_lru_scan_depth
    +1 Vote Up -0Vote Down
    Percona published Linkbench results. It looks like they set   [Read more...]
    MySQL and Percona Server in LinkBench benchmark
    +1 Vote Up -0Vote Down

    Around month ago Facebook has announced the Linkbench benchmark that models the social graph OLTP workload. Sources, along with a very nice description of how to setup and run this benchmark, can be found here. We decided to run this benchmark for MySQL Server 5.5.30, 5.6.11 and Percona Server 5.5.30 and check how these servers will handle such OLTP workloads in the CPU and IO-bound cases. For this test we used a PowerEdge R720 box with a fast PCI-e flash card as storage.

    By default linkbench dataset has 10M ids(after load of data size of datadir ~10GB). We used this dataset

      [Read more...]
    What MySQL is really good at!
    +0 Vote Up -0Vote Down

    With databases, choices of algorithms influence performance characteristics significantly. It is often very easy to find a situation where one database will perform much worse than others, which is why you will hear database engine developers cry out that benchmarks are flawed.

    The best benchmark is one that closely matches what your application actually does, which is why you see the TPC create benchmarks to match hypothetical situations - like a warehouse that has inventory arriving and being shipped out all the time. These situations in turn create “workloads” on the database. To give some context, a workload may behave perform differently on a different database engine because of how many concurrent modifications are required, the ratio of reads/writes, how much data is modified in a transaction, and where in the data set the

      [Read more...]
    Find duplicate records in MySQL
    +0 Vote Up -0Vote Down

    Find duplicates To find duplicate records you can use GROUP BY and count on the attributes which you want to check for duplicates and use HAVING to select all records with a count greater then one: Asume we have the following table and data: CREATE TABLE IF NOT EXISTS test ( column_pk INT(11) NOT NULL [...]
    Percona XtraBackup 2.1.0 ‘release candidate’ for MySQL available for download
    +0 Vote Up -0Vote Down

    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...]
    MySQL 5.6 versus 4.0 for a read-only workload
    +2 Vote Up -0Vote Down
    I compared the performance of MySQL 5.6.11 versus 4.0.30 using a read-only workload with sysbench. Performance was much better for 5.6.11 in most cases. At low-concurrency MySQL 4.0 was a bit faster. MySQL 5.6.11 was faster at high-concurrency and when doing many page reads per second. The product has improved a lot since I started using MySQL.

    I followed most of my advice on building and configuring MySQL 5.6 for peak performance. I used two test servers - one for the sysbench clients and the other for mysqld. Each server has 16 real cores and 32 with HT enabled. Each test server has 144 GB of memory and fast storage that can do ~150,000 16 KB page reads/second.

    The tests selected 1 row by primary key per query and all queries used auto-commit mode.



      [Read more...]
    Benchmarking Percona Server TokuDB vs InnoDB
    +2 Vote Up -0Vote Down

    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


      [Read more...]
    OurSQL Episode 138: The Relevance of Tungsten
    +2 Vote Up -0Vote Down

    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.

    Events
    DB Hangops in May will be Wed May 8th and 22nd.
    Upcoming MySQL tech tours (http://www.mysql.com/news-and-events/events/)

    Training
    SkySQL Trainings
    Tungsten University trainings

    read more

    opeark-kit revision 196 released
    +1 Vote Up -0Vote Down

    This is a long due maintenance release of openark-kit. This release includes bugfixes and some enhancements, mainly to oak-online-alter-table.

    oak-online-alter-table Changes / bug fixes include:

    • Support for keyword-named columns
    • Use of FORCE INDEX due to lack of MySQL's ability for figure out the chunking key at all times
    • --sleep-ratio option added; allows for sleep time proportional to execution time (as opposed to constant sleep time with --sleep)
    • Support for chunk-retry (in case of deadlock) via --max-lock-retries)
    • Fixed order of cleanup
    • Fixed bug with verbose messages with non-integer
      [Read more...]
    Percona XtraBackup 2.0.7 for MySQL available for download
    +0 Vote Up -0Vote Down

    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...]
    UTF 8 in MySQL+PHP+HTML
    +0 Vote Up -0Vote Down

    This little guide will describe the steps you have to take to use utf-8 in a complete web application using MySQL and PHP. The Database You have to specify the utf8 character set on all tables and text columns in your database. This will ensure that MySQL stores and retrieves the values encoded in UTF-8. [...]
    On performance of JDBC drivers.
    +4 Vote Up -1Vote Down

    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
      [Read more...]
    MySQL 5.7 Replication: mysqlbinlog tool idempotent mode while applying row events
    Employee +3 Vote Up -0Vote Down

    Introduction

    MySQL replication slave features  a powerful capability of ignoring conflicts like duplicate key error, key not found errors etc. while applying row events.  This is exceptionally useful while doing row based replication(RBR) from the master when the slave already contains some data which may conflict with the data coming from the master. In MySQL 5.7 we extend this capability while applying row events from mysql-binlog files using mysqlbinlog tool.  This enhancement will prevent such errors from aborting mysql client in case of conflicts like the ones mentioned above.

    Rationale

    Prior to MySQL 5.7 we have been using the mysqlbinlog tool as follows.

    shell$> mysqlbinlog master.000001|mysql -uroot -hexample.com -ps3cret  

    This allows us to pipe the output of mysqlbinlog to mysql,






      [Read more...]
    MySQL is Better Than Ever for the Web
    Employee_Team +1 Vote Up -0Vote Down

    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:

    • Live-virtual event: You can take this course from your desk - no travel required. Choose from a selection of events already on the schedule.
    • In-class event: Travel to an education center to take this course. Below is a selection of of the events already on the schedule.

     



      [Read more...]
    When does MySQL perform IO?
    +1 Vote Up -0Vote Down

    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.

    An Introduction to Buffered IO

    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...]
    Storage caching options in Linux 3.9 kernel
    +0 Vote Up -0Vote Down

    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...]
    Previous 30 Newer Entries Showing entries 91 to 120 of 29665 Next 30 Older Entries

    Planet MySQL © 1995, 2013, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

    Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.