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 31 to 60 of 539 Next 30 Older Entries

Displaying posts with tag: Replication (reset)

Tungsten Replicator 2.0.7 is released
+5 Vote Up -0Vote Down

Tungsten Replicator 2.0.7 was released today. In addition to a large number of bug fixes, this release adds several improvements for multi-master management, and support for Amazon RDS (as a slave).

While the Release Notes show a long list of improvements, I would like to focus on some of them that improve the handling of multi-master deployments.

When we released version 2.0.6, we added the first revision of the cookbook recipes in the build. That was still a green addition, which caused several bug reports. But since then, we have integrated the cookbook in our internal testing, making these recipes more robust and reliable. We are also planning to improve

  [Read more...]
Data Fabric Design Patterns: Fabric Connector
+2 Vote Up -0Vote Down
This article is the third in a series on data fabric design and introduces the fabric connector service design pattern.  The previous article in this series introduced the transactional data service design pattern, which defines individual data stores and is the building block for data fabrics based on SQL databases.  The fabric connector builds on transactional data services and is another basic building block of fabric architecture.

Description and Responsibilities
Fabric connectors make a collection of DBMS servers look like a single server.  The fabric connector presents what appears to be a data service API to applications.  It


  [Read more...]
About MySQL 5.6
+14 Vote Up -2Vote Down
I am very excited and thrilled to use the latest release of MySQL 5.6 in production. This is probably the most notable and innovative release from many years, if not ever. During the last year, we had the chance to work with many new features and to test if fixes to old issues were working...
Provisioning an Oracle slave using Tungsten and MySQL Sandbox
+3 Vote Up -0Vote Down

A few years ago, I used MySQL Sandbox to filter binary logs. While that one was a theoretical case, recently I came across a very practical case where we needed to provision an Oracle database, which is the designated slave of a MySQL master.

In this particular case, we needed to provision the Oracle slave with some auditing features in place. Therefore, mass load functions were not considered. What we needed was the contents of the MySQL database as binary rows i.e. the same format used for row-based replication.

To achieve the purpose as quickly and as painlessly as we could, I thought to employ the services of a MySQL Sandbox. The flow of information would be like this:

  • Install a sandbox, using the same version and
  •   [Read more...]
    First steps with MariaDB Global Transaction ID
    +8 Vote Up -1Vote Down

    My previous writings were mostly teoretical, so I wanted to give a more practical example, showing the actual state of the current code. I also wanted to show how I have tried to make the feature fit well into the existing replication features, without requiring the user to enable lots of options or understand lots of restrictions before being able to use it.

    So let us start! We will build the code from lp:~maria-captains/maria/10.0-mdev26, which at the time of writing is at revision knielsen@knielsen-hq.org-20130214134205-403yjqvzva6xk52j.

    First, we start a master server on port 3310 and put a bit of data into it:

        server1> use test;

      [Read more...]
    MySQL 5.6 Replication Performance
    Employee_Team +10 Vote Up -1Vote Down

    With data volumes and user populations growing, its no wonder that database performance is a hot topic in developer and DBA circles.  

    Its also no surprise that continued performance improvements were one of the top design goals of the new MySQL 5.6 release which was declared GA on February 5th (note: GA means “Generally Available”, not “Gypsy Approved” @mysqlborat)

    And the performance gains haven’t disappointed:

    - Dimitri Kravtchuk’s Sysbench tests showed MySQL delivering up to 4x higher performance than the previous 5.5 release.

    - Mikael Ronstrom’s testing (http://www.mysql.com/why-mysql/benchmarks/) showed up to 4x better scalability as thread counts rose to

      [Read more...]
    Data Fabric Design Patterns: Transactional Data Service
    +1 Vote Up -0Vote Down
    This article is the second in a series on data fabric design and introduces the transactional data service design pattern.  The previous article in this series introduced data fabrics, which are collections of off-the-shelf DBMS servers that applications can connect to like a single server.  They are implemented from data fabric design patterns, which are reusable arrangements of DBMS servers, replication, and connectivity.  With this article we begin to look at individual design patterns in detail.

    Description and Responsibilities
    The transactional data service is a basic building block of data fabric architectures.  A transactional data service is a DBMS server that processes transactions submitted by applications and stores data safely.


      [Read more...]
    Tungsten University: Unleashing the Power of Tungsten Connectors
    +0 Vote Up -0Vote Down
    Tungsten clusters use the Tungsten Connector to ensure your applications transparently connect to the master. This enables failover and seamless switching of masters for maintenance. However, you can do far more. Tungsten Connector allows you to make better use of hardware by load balancing SQL traffic to slaves. There is also a wealth of configuration settings to help Tungsten Connector manage
    Introducing Data Fabric Design for Commodity SQL Databases
    +3 Vote Up -0Vote Down
    Extract from THE SCALE-OUT BLOG by Robert Hodges (CEO, Continuent)http://scale-out-blog.blogspot.com Data management is undergoing a revolution. Many businesses now depend on data sets that vastly exceed the capacity of DBMS servers. Applications operate 24x7 in complex cloud environments using small and relatively unreliable VMs. Managers need to act on new information from those systems in
    Introducing Data Fabric Design for Commodity SQL Databases
    +2 Vote Up -0Vote Down
    Data management is undergoing a revolution.  Many businesses now depend on data sets that vastly exceed the capacity of DBMS servers.  Applications operate 24x7 in complex cloud environments using small and relatively unreliable VMs.  Managers need to act on new information from those systems in real-time. Users want constant and speedy access to their data in locations across the planet.

    It is tempting to think popular SQL databases like MySQL and PostgreSQL have no place in this new world.  They manage small quantities of data, lack scalability features like parallel query, and have weak availability models.  One reaction is to discard them and adopt alternatives like Cassandra or MongoDB.  Yet open source SQL databases have tremendous strengths:  simplicity, robust transaction support, lightning fast operation, flexible

      [Read more...]
    MySQL 5.6 Replication: New Resources for Database Scaling and HA
    Employee_Team +8 Vote Up -0Vote Down
    MySQL 5.6 reached GA (General Availability) today and is packed with a wealth of new features and capabilities.  Exciting stuff!
    MySQL 5.6 also introduces the largest set of enhancements to replication ever delivered in a single release, including: - 5x higher performance to improve consistency across a cluster and reduce the risks of data loss in the event of a master failing - Self-healing clusters with automatic failover and recovery from outages or planned maintenance - Assured data integrity with checksums implemented across the replication workflow - DevOps automation
    Of course, getting started with all of these enhancements can be a challenge - whether you are new to MySQL replication or an experienced user. So two new Guides are available to help take advantage of

      [Read more...]
    Beyond Failover: MySQL Multi-Region Master–Master Replication Considerations and Limitations.
    +0 Vote Up -0Vote Down

    Standard MySQL is configurable such that a single master server can be clustered with a number of read-only slave servers. To enable this master-slave replication, master’s transaction logs are communicated to the slaves (log shipping). Log shipping is a form of asynchronous replication. Under this configuration, the data on the slave always remains behind the master, a condition referred to as slave lag or replication lag. The extent of the slave lag depends on workload, network bandwidth and network latency. Database reads can be served out of the slaves, assuming the application has been designed to tolerate the slave lag and requisite staleness of data (eventual consistency), which can at times be variable and opaque. MySQL master-slave replication offers the possibility of promoting a slave to become the new master

      [Read more...]
    Do we need a MySQL Cookbook?
    +2 Vote Up -2Vote Down

    The blog title says it all: Do we need a MySQL Cookbook? I tend to think so.

    This seems to be something that is missing with current MySQL documentation. There is lots of information available but finding the appropriate bit can be quite tedious and it often requires looking in multiple places.

    A lot of other software has such books, but for some reason MySQL seems to be missing one.

    A recent example comes from a “documentation feature request” I posted today: http://bugs.mysql.com/bug.php?id=68171. MySQL 5.6 provides a way to “move InnoDB tables” from one server to another. There are many reasons why you may want to do it, but the documentation is currently rather sparse. A simple “example recipe” for this would be good, as would an equivalent recipe for other

      [Read more...]
    Read/Write Splitting with PHP Webinar Questions Followup
    +1 Vote Up -0Vote Down

    Today I gave a presentation on “Read/Write Splitting with PHP” for Percona Webinars.  If you missed it, you can still register to view the recording and my slides.

    Thanks to everyone who attended, and especially to folks who asked the great questions.  I answered as many as I could during the session, but here are all the questions with my complete answers:

    Q: I wasn’t able to start up the webinar until it was 20 minutes in progress. Is it possible to get a recording once it is over?

    A: Yes, we will email a link to all webinar attendees with a recording of the webinar and a link to the slides within 24 hours.  Folks who did not attend the webinar can also visit the webinar

      [Read more...]
    Webinar on Read/Write Splitting with PHP
    +1 Vote Up -0Vote Down

    I’ll be presenting a webinar next Wednesday, January 23 at 10 a.m. (Pacific Time), about issues application developers should think about for scaling out read-query traffic using multiple MySQL instances in a replication pair.

    Specifically, about the care we have to take because replication is asynchronous.  This means the slave  may not have current data at all times, so an application must choose to query the slave or the master dynamically.  As much as possible, we’d like to automate this choice so that application developers can be the most productive.

    Please join me for this webinar by registering here: http://www.percona.com/webinars/readwrite-splitting-mysql-and-php

    The post

      [Read more...]
    Replicating from MySQL to Amazon RDS
    +3 Vote Up -0Vote Down
    There have been a number of comments that Amazon RDS does not allow users access to MySQL replication capabilities (for example here and here).  This is a pity. Replication is one of the great strengths of MySQL and the lack of it is a show-stopper for many users.  As of the latest build of Tungsten Replicator half of this problem is on the way to being solved. You can now set up real-time replication from an external MySQL master into an Amazon RDS instance.

    In the remainder of this article I will explain how to set up Tungsten replication to an Amazon RDS slave, then add a

      [Read more...]
    Tungsten University
    +1 Vote Up -0Vote Down
    We have started a new series of webinars at Continuent that we call Tungsten University.  They provide education on Tungsten clustering and replication in handy one-hour chunks.  These are not sales pitches.  Our goal is to provide accessible education about setting up and operating Tungsten without any marketing fluff.

    The first Tungsten University webinar entitled "Configure & provision Tungsten clusters" will take place on Thursday January 17th at 10:00 PST.  It will show you how to set up a cluster in Amazon EC2.  There will be a repeat on January 22nd at 15:00 GMT.  We usually record webinars, so you can look at them later as well. 
    You do not have to be a customer to


      [Read more...]
    How does MySQL Replication really work?
    +1 Vote Up -0Vote Down

    While we do have many blog posts on replication on our blog, such as on replication being single-threaded, on semi-synchronous replication or on estimating replication capacity, I don’t think we have one that covers the very basics of how MySQL replication really works on the high level. Or it’s been so long ago I can’t even find it. So, I decided to write one now.

    Of course, there are many aspects of MySQL replication, but my main focus will be the logistics – how

      [Read more...]
    Deep Dive into GTIDs and MySQL 5.6 - What, Why and How
    Employee_Team +6 Vote Up -0Vote Down

    Global Transaction Identifiers (GTIDs) are one of the key replication enhancements in MySQL 5.6. GTIDs make it simple to track and compare replication across a master - slave topology. This enables:

    - Much simpler recovery from failures of the master,

    - Introduces great flexibility in the provisioning and on-going management of multi-tier or ring (circular) replication topologies.

    A new on-demand MySQL 5.6 GTID webinar (http://www.mysql.com/news-and-events/web-seminars/mysql-replication-simplifying-scaling-and-ha-with-gtids/) delivered by the replication engineering team is now available, providing deep insight into the design and implementation of GTIDs, and how they enable users to simplify MySQL scaling and HA. The webinar covers:

    - Concepts: What is

      [Read more...]
    Easily testing MySQL 5.6 GTID in a sandbox
    +6 Vote Up -0Vote Down

    MySQL 5.6 seems to be ready for GA. I have no inside information about it, but from some clues collected in various places I feel that the release should not be far away. Thus, it's time for some serious testing, and for that purpose I have worked at updating MySQL Sandbox with some urgent features.

    I have just released MySQL Sandbox 3.0.28, with more support for MySQL 5.6. Notably in this release, there is suppression of MySQL 5.6 annoying verbosity, additional suppression of more annoying warnings ( actually a bug) when using empty passwords

      [Read more...]
    More on global transaction ID in MariaDB
    +6 Vote Up -0Vote Down

    I got some very good comments/questions on my previous post on MariaDB global transaction ID, from Giuseppe and Robert (of Tungsten fame). I thought a follow-up post would be appropriate to answer and further elaborate on the comments, as the points they raise are very important and interesting.

    (It also gives me the opportunity to explain more deeply a lot of interesting design decisions that I left out in the first post for the sake of brevity and clarity.)

    On crash-safe slave

    One of the things I really wanted to improve with global transaction ID is to make the replication slaves more crash safe with respect to their current replication state. This state is mostly persistently stored information about which event(s) were last executed on the slave, so that after a server restart the slave will know from  [Read more...]
    Global transaction ID in MariaDB
    +5 Vote Up -0Vote Down

    The main goal of global transaction ID is to make it easy to promote a new master and switch all slaves over to continue replication from the new master. This is currently harder than it could be, since the current replication position for a slave is specified in coordinates that are specific to the current master, and it is not trivial to translate them into the corresponding coordinates on the new master. Global transaction ID solves this by annotating each event with the global transaction id which is unique and universal across the whole replication hierarchy.

    In addition, there are at least two other main goals for MariaDB global transaction ID:

  • Make it easy to setup global transaction ID, and easy to provision a new slave into an existing replication hierarchy.
  • Fully support
  •   [Read more...]
    The MySQL Community: Beleaguered or Better than Ever?
    +4 Vote Up -1Vote Down
    The  MariaDB Foundation announcement spawned some interesting commentary about the state of open source databases.  One recent headline cited the "beleaguered MySQL community." Beleaguered is a delightful adjective.  The OED tells us that it means beset, invested, or besieged.  Much as I like the word, I do not think it is an accurate or useful description of the MySQL community.  This article and others like it miss the point of what is happening to MySQL and its users.

    Let's start by disproving that the notion that the MySQL community is

      [Read more...]
    Some sharding support and cache locality optimization support for PHP MySQL driver
    Employee +5 Vote Up -0Vote Down

    It is time for christmas presents: some sharding support and cache locality optimizations are coming with PECL/mysqlnd_ms 1.5. PECL/mysqlnd_ms is a plugin for the mysqlnd library. The plugin adds replication and load balancing support to any PHP MySQL API (mysql, mysqli, PDO_MySQL) if compiled to use the mysqlnd library.

    As a MySQL user you can choose between a wide variety of clustering solutions to scale-out. Your options range from eventual consistent solutions to strong consistent ones, from built-in (MySQL Replication, MySQL Cluster) to third party or home-grown. PECL/mysqlnd_ms is a client side load

      [Read more...]
    Slides from Percona Live London and a Request
    +1 Vote Up -0Vote Down
    Percona hosted another excellent Percona Live conference this past December 3-4 in London.  It was my pleasure to deliver 3 talks including the first keynote following Peter Zaitsev.  Percona does a great job of organizing these conferences--this year's London conference was well attended and in an excellent location in Kensington.  My thanks to the entire Percona team for putting this together.

    Here are the slides for my talks in case you would like to see them.

    Keynote:  Future-Proofing MySQL for the World-Wide Data Revolution -- Covering the greatly exaggerated death of MySQL and design patterns for robust MySQL systems that can last for decades

    Talk:  





      [Read more...]
    Solving replication problems with Tungsten replicator
    +1 Vote Up -0Vote Down

    On Monday afternoon, Neal Armitage and I will be speaking at Percona Live in London. It will be a three hours tutorial about Tungsten replicator.

    The contents of this tutorial are mostly new. We have released recently a new and easier way of installing different topologies, in the shape of cookbook scripts, which are distributed with the replicator tarball.

    Using this cookbook, any user can simply install multiple topologies, from the simple master/slave to all-masters, fan-in, and star.

    There are recipes for showing the replication cluster, switching roles between master and a chosen slave, taking over MySQL replication, installing direct slaves with parallel replication, testing each topology, and

      [Read more...]
    Industrial-strength MySQL applications using Percona and Continuent
    +0 Vote Up -0Vote Down
    MySQL is the first choice for a large majority of web applications thanks to its ease of use and low cost of operation. However, running big apps on MySQL is still a challenge even for experts. In this webinar we show you how to combine Percona Server and Percona XtraBackup with Continuent Tungsten to build business-critical systems capable of processing hundreds of millions of transactions per
    New Continuent Tungsten 1.5.3 now available
    +0 Vote Up -0Vote Down
    We are pleased to inform you that the new Continuent Tungsten 1.5.3 is now available for download at wwww.continuent.com/software. This is a maintenance release that is recommended for all our customers, but is not considered a critical upgrade. Please contact us if you need consultative help with this upgrade. This release is a 1.5 maintenance release which has been primarily aimed at
    State of the art of MySQL HA and Replication
    +0 Vote Up -0Vote Down
    MySQL is the world’s most popular open-source database, and powers websites and applications of numerous leading and fast-growing organizations. In this streamed video from a MySQL community event in Barcelona, we cover everything you need to know to successfully scale out and replicate your MySQL databases and make your applications highly available.   Video streaming by Ustream
    MySQL 5.6.8 - Broken compatibility ahead
    +6 Vote Up -0Vote Down

    Users are safer

    MySQL 5.6.8 was announced a few days ago. You can download it from the MySQL downloads page

    This is the second release candidate of MySQL 5.6, and it is strange. My understanding of a release candidate is something that is stable, its features committed long time ago, and the release will just attempt to fix bugs. Instead, there are features that were not in the first release candidate. This one strikes me as really odd (quoting from the announcement) :

    On Unix platforms, mysql_install_db supports a new option, --random-passwords, that provides for more secure MySQL installation. Invoking mysql_install_db with this option causes it to perform the following actions in

      [Read more...]
    Previous 30 Newer Entries Showing entries 31 to 60 of 539 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.