Do you know how to set up Tungsten Replication to handle multi-master topologies? Do you know how to replicate transactions from multiple MySQL servers into a single slave? Do you know how to replicate between Tungsten clusters? In this course we show you how to set up and manage complex replication topologies using Tungsten.
Intro
While working on one of the MySQL to Oracle replication projects
for Continuent, I needed to implement an
open-source utility for transforming MySQL schema to an Oracle
dialect (DDL statements that create specific schema on Oracle) to
save from otherwise tedious work. This article introduces
./ddlscan tool, which does that and is extensible to do much
more.
Ingredients
Here's what you'll need:
- Your favorite DBMS with some tables. Currently supported MySQL, Oracle and PostgreSQL.
- Latest Tungsten Replicator build. Not even needed to install, enough to untar.
- Velocity template of your choice. You will find …
Send to Kindle
Hi guys, Early February Oracle released the new version of MySQL named 5.6, one of the enhancements is the GTID (Global Transaction ID)
GTID is an unique identifier which will be added at each transaction, and will be very useful on the slave. remember before we needed to set MASTER_LOG_FILE and MASTER_LOG_POS, now we don’t need them anymore.
Let’s see some new variables which we need to add to our cnf
file:
gtid-mode : It will enable GTID, in order to
this function work, we need to turn on log-bin and
log-slave-updates
enforce-gtid-consistency : It will guarantee
that only allowed command will be executed ( more information
here)
Basicly, is only this what we need to enable GTID, for this tutorial I will …
[Read more]MySQL 5.6 is probably the version of MySQL with the biggest bundle of new features. You may want to try it soon, since it's now released as GA, and I would like to offer some practical experience on how to use some of the advanced features.
Since replication is my main interest, I will focus on some of the new features in this field, and I will compare what's available in MySQL 5.6 with Tungsten Replicator.
The focus of the comparison is usability, manageability, and some hidden functionality. Parallel replication has been available with Tungsten Replicator for almost two years, and Global Transaction Identifiers for much longer than that. With MySQL 5.6, it seems that the MySQL team wants to close the gap. While the main feature (parallel execution threads) is available and performing well, there are some shocking differences in terms of ease of use, administration …
[Read more]Tungsten Replicator 2.0.7 enables new MySQL versions, provides better support for multi-master and parallel replication, and improves setup of advanced topologies. In the MySQL area, we have added the ability to replicate from MySQL into Amazon RDS instances, as well as initial certification for MySQL 5.6.
There are several important new features for multi-master replication, including better
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 them and eventually …
[Read more]
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 routes each
request to an appropriate physical …
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 in many years, if not ever.
During the last year, we had the chance to work with many new features and test the fixes to old issues. To be honest, I was expecting to have MySQL 5.6 GA before now, and I even wagered with my colleague Francisco that it would be out before the end of 2012. It was nothing special, just a beer in the Santa Clara Hyatt lounge. Unfortunately for me, MySQL 5.6 is now in GA and given that it happened in 2013, I lost the bet and now have to pay for that beer. But I have also lost the full list of things that we saw as relevant, interesting, or really innovative for MySQL.
So I took a step back, took some time, and reviewed what Oracle delivered in this new MySQL release.
Short premise
Oracle developer teams did great work for …
[Read more]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 character set of the master; …
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]