Archive for the ‘availability’ Category

New Replication, Optimizer and High Availability features in MySQL 5.6.5!

Апрель 11th, 2012

As the Product Manager for the MySQL database it is always great to announce when the MySQL Engineering team delivers another great product release.  As a field DBA and developer it is even better when that release contains improvements and innovation that I know will help those currently using MySQL for apps that range from modest intranet sites to the most highly trafficked web sites on the web.  That said, it is my pleasure to take my hat off to MySQL Engineering for today's release of the MySQL 5.6.5 Development Milestone Release ("DMR"). The new highlighted features in MySQL 5.6.5 are discussed here:

New Self-Healing Replication Clusters
The 5.6.5 DMR improves MySQL Replication by adding Global Transaction Ids and automated utilities for self-healing Replication clusters.  Prior to 5.6.5 this has been somewhat of a pain point for MySQL users with most developing custom solutions or looking to costly, complex third-party solutions for these capabilities.  With 5.6.5 these shackles are all but removed by a solution that is included with the GPL version of the database and supporting GPL tools. 

You can learn all about the details of the great, problem solving Replication features in MySQL 5.6 in Mat Keep's Developer Zone article

New Replication Administration and Failover Utilities
As mentioned above, the new Replication features, Global Transaction Ids specifically, are now supported by a set of automated GPL utilities that leverage the new GTIDs to provide administration and manual or auto failover to the most up to date slave (that is the default, but user configurable if needed) in the event of a master failure.

The new utilities, along with links to Engineering related blogs, are discussed in detail in the DevZone Article noted above.

Better Query Optimization and Throughput
The MySQL Optimizer team continues to amaze with the latest round of improvements in 5.6.5. Along with much refactoring of the legacy code base, the Optimizer team has improved complex query optimization and throughput by adding these functional improvements:

  • Subquery Optimizations - Subqueries are now included in the Optimizer path for runtime optimization.  Better throughput of nested queries enables application developers to simplify and consolidate multiple queries and result sets into a single unit or work.
  • Optimizer now uses CURRENT_TIMESTAMP as default for DATETIME columns - For simplification, this eliminates the need for application developers to assign this value when a column of this type is blank by default.
  • Optimizations for Range based queries - Optimizer now uses ready statistics vs Index based scans for queries with multiple range values.
  • Optimizations for queries using filesort and ORDER BY.  Optimization criteria/decision on execution method is done now at optimization vs parsing stage.
  • Print EXPLAIN in JSON format for hierarchical readability and Enterprise tool consumption.

You can learn the details about these new features as well all of the Optimizer based improvements in MySQL 5.6 by following the Optimizer team blog.

You can download and try the MySQL 5.6.5 DMR here. (look under "Development Releases")  Please let us know what you think!  The new HA utilities for Replication Administration and Failover are available as part of the MySQL Workbench Community Edition, which you can download here .

Also New in MySQL Labs
As has become our tradition when announcing DMRs we also like to provide "Early Access" development features to the MySQL Community via the MySQL Labs.  Today is no exception as we are also releasing the following to Labs for you to download, try and let us know your thoughts on where we need to improve:

InnoDB Online Operations
MySQL 5.6 now provides Online ADD Index, FK Drop and Online Column RENAME.  These operations are non-blocking and will continue to evolve in future DMRs.  You can learn the grainy details by following John Russell's blog.

InnoDB data access via Memcached API ("NotOnlySQL") - Improved refresh of an earlier feature release
Similar to Cluster 7.2, MySQL 5.6 provides direct NotOnlySQL access to InnoDB data via the familiar Memcached API. This provides the ultimate in flexibility for developers who need fast, simple key/value access and complex query support commingled within their applications.

Improved Transactional Performance, Scale
The InnoDB Engineering team has once again under promised and over delivered in the area of improved performance and scale.  These improvements are also included in the aggregated Spring 2012 labs release:

InnoDB CPU cache performance improvements for modern, multi-core/CPU systems show great promise with internal tests showing:   

  • 2x throughput improvement for read only activity
  • 6x throughput improvement for SELECT range
  • Read/Write benchmarks are in progress

More details on the above are available here.

You can download all of the above in an aggregated "InnoDB 2012 Spring Labs Release" binary from the MySQL Labs. You can also learn more about these improvements and about related fixes to mysys mutex and hash sort by checking out the InnoDB team blog.

MySQL 5.6.5 is another installment in what we believe will be the best release of the MySQL database ever.  It also serves as a shining example of how the MySQL Engineering team at Oracle leads in MySQL innovation.

You can get the overall Oracle message on the MySQL 5.6.5 DMR and Early Access labs features here.

As always, thanks for your continued support of MySQL, the #1 open source database on the planet!



PlanetMySQL Voting: Vote UP / Vote DOWN

MySQL HA Solutions: New Guide Available

Сентябрь 29th, 2011

Databases are the center of today’s web, enterprise and embedded applications, storing and protecting an organization’s most valuable assets and supporting business-critical applications. Just minutes of downtime can result in significant lost revenue and dissatisfied customers. Ensuring database highly availability is therefore a top priority for any organization.

The new MySQL Guide to High Availability solutions is designed to navigate users through the HA maze, discussing:

- The causes, effects and impacts of downtime;

- Methodologies to select the right HA solution;

- Different approaches to delivering highly available MySQL services;

- Operational best practices to meet Service Level Agreements (SLAs).

As discussed in the new Guide, selecting the high availability solution that is appropriate for your application depends upon 3 core principles:

- The level of availability required to meet business objectives, within budgetary constraints;

- The profile of application being deployed (i.e. concurrent users, requests per second, etc.);

- Operational standards within each data center.

Recognizing that each application or service has different operational and availability requirements, the guide discusses the range of certified and supported High Availability (HA) solutions – from internal departmental applications all the way through to geographically redundant, multi-data center systems delivering 99.999% availability (i.e. less than 5 ½ minutes of downtime per year) supporting transactional web services, communications networks, cloud and hosting environments, etc.

By combining the right technology with the right skills and processes, users can achieve business continuity, while developers and DBAs can sleep tight at night! Download the guide to learn more.


PlanetMySQL Voting: Vote UP / Vote DOWN

MySQL HA Solutions: New Guide Available

Сентябрь 29th, 2011

Databases are the center of today’s web, enterprise and embedded applications, storing and protecting an organization’s most valuable assets and supporting business-critical applications. Just minutes of downtime can result in significant lost revenue and dissatisfied customers. Ensuring database highly availability is therefore a top priority for any organization.

The new MySQL Guide to High Availability solutions is designed to navigate users through the HA maze, discussing:

- The causes, effects and impacts of downtime;

- Methodologies to select the right HA solution;

- Different approaches to delivering highly available MySQL services;

- Operational best practices to meet Service Level Agreements (SLAs).

As discussed in the new Guide, selecting the high availability solution that is appropriate for your application depends upon 3 core principles:

- The level of availability required to meet business objectives, within budgetary constraints;

- The profile of application being deployed (i.e. concurrent users, requests per second, etc.);

- Operational standards within each data center.

Recognizing that each application or service has different operational and availability requirements, the guide discusses the range of certified and supported High Availability (HA) solutions – from internal departmental applications all the way through to geographically redundant, multi-data center systems delivering 99.999% availability (i.e. less than 5 ½ minutes of downtime per year) supporting transactional web services, communications networks, cloud and hosting environments, etc.

By combining the right technology with the right skills and processes, users can achieve business continuity, while developers and DBAs can sleep tight at night! Download the guide to learn more.


PlanetMySQL Voting: Vote UP / Vote DOWN

The 4 Things You Should Know When Designing Your Database for the Cloud

Ноябрь 16th, 2010

In his recent column, CNET’s Dave Rosenberg asks “Are databases in the cloud really all that different?”. The short answer: Yes, They ARE!

High Availability and Scalability for MySQL Database on the CloudAddressing Rosenberg’s point, I described the 4 key issues every system architect should take into account when designing their database for the cloud — and why achieving them on a Cloud environment might be more complex, tedious to manage, and way more expensive than you might think.

Basically, you need:

  1. Replicable, high-availability set-up - because the cloud is an unstable, unpredictable, environment.
  2. Database that scales elastically - and scaling out by adding nodes is harder on a cloud infrastructure.
  3. Distributed databases – which require building the logic to handle conflicts, network and latency problems.
  4. True Multi-tenancy - And not a simple standard SQL database installed in multiple copies on the same virtual machine – which can cause more headaches and management overhead to keep running.

This is all hard work – we know..

In his review, Rosenberg also describes why relational databases are here to stay, and why NoSQL isn’t necessarily the answer for your cloud concerns.

At Xeround, we’ve always felt the answer lies in making SQL Cloud-able – for REAL! Our technology for managing data in the cloud provides both the transactional and query capabilities of relational databases, along with the simplicity and scalability as of NoSQL data stores.

Xeround SQL Database, offered for both public clouds (IaaS) and private clouds, was designed specifically for the cloud, to give you multi-tenancy, high-availability, auto-scaling and self-healing – all without being bogged down by the development, management and expenses overhead.

If you haven’t tried us out yet- sign up for the private beta and check it out for yourself!

You can read more on CNET’s Are databases in the cloud really all that different?



Filed under: Availability, Cloud Computing, Databases, News & Press Mentions, NoSQL, Scalability, SQL
PlanetMySQL Voting: Vote UP / Vote DOWN

High Availability MySQL Cookbook review

Июль 7th, 2010

High Availability MySQL Cookbook (Alex Davies, Packt Publishing) presents different approaches to achieve high availability with MySQL.

The bulk of the book is dedicated to MySQL Cluster, with shorter sections on:

  • MySQL replication
  • shared storage
  • block level replication
  • performance tuning

The recipes are clear and well explained, based on a CentOS distribution, and it seems any technically skilled person could follow them without issues.

What’s lacking are some design aspects. Based on this material, one probably wouldn’t be able to decide what the best high availability architecture is for a given problem. Actually, one may even be tempted to think MySQL Cluster is the best fit for most scenarios, given the percentage of the book dedicated to it. Nevertheless, there’s a section about Cluster limitations and potential problems, so the cautious reader won’t be tempted to choose this solution for every new project.

I also found that some important considerations regarding replication are missing.
The reader is instructed to rely on Seconds_Behind_Master alone to monitor replication, and there’s no mention to the situations that can cause as slave to go out of sync, nor of a process to fix this problem.

However, this book is a useful addition to any MySQL practitioner’s library, provided you don’t expect to rely only on it to design and deploy your MySQL based highly available services.

Related posts:

  1. MySQL Certification self study I’m taking the MySQL Certification exams soon, and while I’d...
  2. Using MySQL sandbox for testing MySQL Sandbox is a great tool for quickly deploying test...
  3. Indexing text columns in MySQL This time, I’m talking about indexes for string typed columns....

Related posts brought to you by Yet Another Related Posts Plugin.


PlanetMySQL Voting: Vote UP / Vote DOWN

Discussing High Availability with a Puppet

Август 19th, 2009

Last month at OSCON I had the pleasure of discussing High Availability and Open HA Cluster with "Jack Adams." Here's the video for your viewing pleasure:

Nick Solter
Solaris Cluster / Open HA Cluster developer and author of OpenSolaris Bible


PlanetMySQL Voting: Vote UP / Vote DOWN