MySQL Newsletter October 2010
Articles in this newsletter:
- Article: Introduction to MySQL 5.5
- Event: MySQL Sessions at UKOUG Conference Series Technology and E-Business Suite 2010
- Call for MySQL Participation at Collaborate 11 (April 10 - 14, 2011)
- Live Webinar: Delivering Scalability and High Availability with MySQL 5.5 Replication Enhancements (October 12)
- Live Webinar: MySQL Essentials Part 5: How to Develop Simple PHP Applications for MySQL (October 19)
- New Release of MySQL Community Server 5.5.6 (RC)
- New Release of MySQL Community Server 5.1.51 (GA)
- New Release of MySQL Workbench 5.2.28 (GA)
- New Release of MySQL Connector/Net 6.3.4 (GA)
- New Release of MySQL Proxy 0.8.1 (Alpha)
- White Paper: Building Carrier-Grade Subscriber Databases Using MySQL Cluster
- PlanetMySQL Blog Posts
- PlanetMySQL Blog: MySQL 5.5: InnoDB Performance Improvements on Windows
- PlanetMySQL Blog: Online Schema Change for MySQL
- PlanetMySQL Blog: MySQL 5.5: InnoDB as Default Storage Engine
- PlanetMySQL Blog: Multiple Buffer Pools in MySQL 5.5
- PlanetMySQL Blog: MySQL Performance: 5.5 Notes
- PlanetMySQL Blog: MySQL 5.5: InnoDB adaptive_flushing - How it works?
- PlanetMySQL Blog: MySQL 5.5: InnoDB Change Buffering
- PlanetMySQL Blog: InnoDB Revision History
- PlanetMySQL Blog: Resolving the "Can't create IP socket: No such file or directory" Error on Windows
- PlanetMySQL Blog: MySQL Workbench Plugin: mforms example and slow query log statistics
- PlanetMySQL Blog: Tracking mutex locks in a process list, MySQL 5.5's PERFORMANCE_SCHEMA
- PlanetMySQL Blog: Testing Drupal 7 on a virtual appliance with MySQL 5.1 and the InnoDB plugin
- PlanetMySQL Blog: Farewell CHM, hello EPUB!
- PlanetMySQL Blog: How to speed up Sysbench on MySQL Cluster by 14x
- PlanetMySQL Blog: Spins and Contentions in MySQL Cluster
- Live Webinar: What's New with MySQL (October 14) - Italian
- Live Webinar: Designing MySQL Databases (October 14 & 15) - EMEA
- Live Webinar: Practical Partitioning With MySQL: When, Why and How (October 26)
It's been a busy year for MySQL. Perhaps you've heard. Here are some recent improvements to the speed, scalability, and user-friendliness of the MySQL database and the InnoDB storage engine that we think deserve their own headlines. Now is a great time to test the 5.5 release and give feedback to the MySQL engineering team.
UK Oracle User Group's annual Technology & E-Business Suite conference is taking place from November 29th to December 1st at the ICC in Birmingham. There will be numerous MySQL sessions aiming to help you further improve your MySQL deployment. Join the 1,500 attendees to learn and share the latest product information.
The Independent Oracle User Group, focused on Oracle technology including database, security, and virtualization, will hold its annual conference in Orlando, Florida, on April 10 to 14, 2011. In Collaborate 11 there will be dedicated MySQL technical tracks to host talks from worldwide MySQL experts, including customers, partners and engineers. Submit your proposals by October 11 to participate this community driven event!
Tuesday, October 12, 2010 - 9:00am PT
This session explains how to use MySQL replication for scalability and high availability, focusing on the new MySQL Release 5.5 features that have been implemented to support and simplify maintenance of such installations. Features include replication heartbeating, semi-synchronous replication, fsync tuning, and relay log corruption recovery.
Tuesday, October 19, 2010 - 9:00am PT
In this technical webinar, MySQL developer Johannes Schlüter will show you the essentials for creating dynamic web content using MySQL and PHP. He will also discuss many of the fundamental elements used when developing PHP applications with MySQL, including the frameworks, APIs, security features, and asynchronous queries.
MySQL Server 5.5.6-rc, a new version of the popular Open Source Database Management System, has been released. The "-rc" suffix indicates this is a "release candidate". MySQL 5.5 includes several high-impact changes to address scalability and performance issues in MySQL Server. These changes exploit advances in hardware and CPU design and enable better utilization of existing hardware.
MySQL Community Server 5.1.51, a new version of the popular Open Source Database Management System, has been released. MySQL 5.1.51 is recommended for use on production systems.
We're proud to announce the next release of MySQL Workbench, version 5.2.28. This maintenance release features improvements to the Workbench scripting Shell as well as various fixes. The enhancements to the Scripting Shell make it easier to develop and use Workbench Scripts and Plug-ins.
We're proud to announce the next release of MySQL Connector/Net version 6.3.4. This release is GA (Generally Available). We hope you will make MySQL Connector/Net your preferred set of .NET components including our ADO.Net library and other Microsoft .NET frameworks components such as our Visual Studio plug-in and Entity Framework for MySQL. New features include:
- The ability to dynamically enable/disable query analysis at runtime
- Visual Studio 2010 compatibility
- Improved compatibility with Visual Studio wizards using our new SQL Server mode
- Support for Model-First development using Entity Framework
- Nested transaction scopes
We are pleased to announce MySQL Proxy 0.8.1, an alpha release. It makes the admin plug-in more useful by reporting better errors and explicitly enforces the options --admin-username, --admin-password and --admin-lua-script. We also bundle a simple admin script that you can use as a starting point for your own developments in lib/admin.lua.
In this paper we describe how MySQL Cluster Carrier Grade Edition can be used to build a scalable, highly available, geographically replicated Subscriber Database. We show how user-defined partitioning and distribution keys help a subscriber database to scale its performance linearly with cluster size, while maintaining the benefits of a relational database, accessed via an SQL API.
The following blog posts are from PlanetMySQL. PlanetMySQL is an aggregation of blogs and news from MySQL developers, users and employees. It is an excellent source of all things about MySQL, including technical tips and best practices.
At MySQL, we know our users want Performance, Scalability, Reliability, and Availability, regardless of the platform they choose to deploy. We have always had excellent benchmarks on Linux, and with MySQL 5.5, we are also working hard on improving performance on Windows.
It is great to be able to build small utilities on top of an excellent RDBMS. Thank you MySQL. This is a small but complex utility to perform online schema change for MySQL.
MySQL has a well-earned reputation for being easy-to-use and delivering performance and scalability. In previous versions, MyISAM was the default storage engine. In our experience, most users never changed the default settings. With MySQL 5.5, InnoDB becomes the default storage engine. Again, we expect most users will not change the default settings. But, because of InnoDB, the default settings deliver the benefits users expect from their RDBMS - ACID Transactions, Referential Integrity, and Crash Recovery.
In our work to improve MySQL scalability we tested many opportunities to scale the MySQL Server and the InnoDB storage engine. The InnoDB buffer pool was often one of the hottest contention points in the server. This is very natural since every access to a data page, UNDO page, index page uses the buffer pool and even more so when those pages are read from disk and written to disk.
Since 5.5 is announced as Release Candidate now, I'll not compare it with 5.1 anymore - I think there was written enough about the performance gain even since introduction of 5.4. From the other side, we want to be sure that the final 5.5 will be at least as good as 5.5.4 release, and here the feedback from real users with real workloads will be very precious! So, please, don't keep quiet!
Write-heavy workloads can reach a situation where InnoDB runs out of usable space in its redo log files. When that happens, InnoDB does a lot of disk writes to create space and you can see a drop in server throughput for a few seconds. From InnoDB plugin 1.0.4 we have introduced the 'innodb_adaptive_flushing' method that uses a heuristic to try to flush enough pages in the background so that it is rare for the very active writing to happen.
To speed up bulk loading of data, InnoDB implements an insert buffer, a special index in the InnoDB system tablespace that buffers modifications to secondary indexes when the leaf pages are not in the buffer pool. Batched merges from the insert buffer to the index pages result in less random access patterns than when updating the pages directly. This speeds up the operation on hard disks.
This is a brief overview of the history of InnoDB with respect to the Version Control Systems (VCS) that were used for developing. It could be useful to people who want to trace back in time to find the origins of bugs or features.
PlanetMySQL Blog: Resolving the "Can't create IP socket: No such file or directory" Error on Windows
Every now and again, when installing or upgrading MySQL on Windows, mysqld will not start, and it's not due to any changes in the config file, using some old config option, permissions, something changed/removed, or anything else. It just simply fails, when you know it should work.
As an update to my prior post, I've added a form to the workbench plugin. Now, the user can select a slow query log file and generate statistics from it. The plugin scans the slow query log, aggregates similar queries, and provides summary statistics for each group. It's very similar to the mysqldumpslow perl utility, which is included in the mysql bin folder. However, as a plugin, it's easier to use on a Windows server as it doesn't require you to install perl.
Internally MySQL uses various methods to manage (or, block) concurrent access to shared structures within the server - the most common being mutexes (or Mutual Exclusion locks), RW Locks, or Semaphores. Each have slightly different properties on how different threads are allowed to interact when trying to access these synchronization points.
The Drupal community just recently released another alpha test release of their upcoming Drupal 7 version, to shake out the remaining bugs and to encourage more users to test it.
If you would like to give it a try, but you don't have a free server handy, how about using a virtual machine instead? Using the fabulous SuSE Studio, I've created an appliance based on openSUSE 11.3, Drupal 7.0-alpha7 and MySQL 5.1 with the InnoDB plugin and strict mode enabled (both for the SQL mode and InnoDB mode).
For a long time, the MySQL Documentation Team has been providing CHM files for most MySQL documentation we publish.
With the increasing complexity and size of our documentation (the MySQL 5.1 Manual contains more than 1.6 million words now!), providing CHM has become more and more of a pain, because builds tend to break more often.
During the summer I had the opportunity to get some work done on scalability of the MySQL Cluster product. Given that I once was the founder of this product it was nice to return again and check where it stands in scalability terms. The objective was to compare MySQL Cluster to the Memory engine.
I get a number of question about contentions/stuck in. So here comes some explanation to contention, thread stuck in, and what you can do about it.
Thursday, October 14, 2010 - 10:00 CET
Join us for this webinar to better understand what's new with MySQL! You will learn more about the current and future state of MySQL, now part of the Oracle family of products. We will also cover Oracle's investment in MySQL technology and community, aiming to make MySQL even a better MySQL.
Thursday, October 14, 2010 - 10:00 CET
Join us for this webinar to learn the design dos and don'ts for MySQL. We will show you how to design, forward and reverse engineer databases including discussions on datatypes, indexes, and foreign keys for various application scenarios.
Tuesday, October 26, 2010 - 9:00am PT
MySQL Partitioning can dramatically improve the performance and scaling of your MySQL database; it can also cause heartaches and pain if implemented incorrectly. Focusing more on partitions and less on indexes may be what's needed in designing and implementing a large scale data warehouse. Partitioning can also be used in other, non data warehouse solutions to greatly improve both performance and uptime of common OLTP systems.
Join us for this technical webinar and learn when and how to implement MySQL Partitioning correctly and dramatically improve your application's performance and lower the load on your system.
Read the White Paper: Guide to MySQL 5.1 Partitioning » (http://www.mysql.com/why-mysql/white-papers/mysql_wp_partitioning.php)
More free MySQL webinars are scheduled and added between each Newsletter edition, so visit our website frequently for the most updated information.