As described in the first article of this series, Tungsten
Replicator can replicate data from MySQL to Vertica in real-time.
We use a new batch loading feature that applies
transactions to data warehouses in very large blocks using COPY
or LOAD DATA INFILE commands. This second and concluding
article walks through the details of setting up and testing MySQL
to Vertica replication.
To keep the article reasonably short, I assume that readers are
conversant with MySQL, Tungsten, and Vertica. Basic
replication setup is not hard if you follow all the steps
described here, but of course there are variations in every
setup. For more information on Tungsten check out the
Tungsten Replicator project at code.google.com
site well as …
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
Real-time analytics allow companies to react rapidly to changing
business conditions. Online ad services process
click-through data to maximize ad impressions. Retailers
analyze sales patterns to identify micro-trends and move
inventory to meet them. The common theme is speed: moving
lots of information without delay from operational systems to
fast data warehouses that can feed reports back to users as
quickly as possible.
Real-time data publishing is a classic example of a big
data replication problem. In this two-part article
I will describe recent work on Tungsten Replicator to move data out of MySQL
into Vertica at high speed with minimal load on
DBMS servers. This feature …
The best (and truly the only) MySQL multi-master, multi-site solution on the market gets even better! Continuent is happy to announce immediate availability of Continuent Tungsten 1.5.New Continuent Tungsten 1.5 allows you to build multi-site, disaster recovery (DR) and multi-master solutions with ease:
Multi-Master Operations - Tungsten can support your multi-master operations today by linking
On Wednesday May 16th, we ran a webinar to provide an overview of all of the new replication features and enhancements that are previewed in the MySQL 5.6 Development Release – including Global Transaction IDs, auto-failover and self-healing, multi-threaded, crash-safe slaves and more.
Collectively, these new capabilities enable MySQL users to scale for next generation web and cloud applications.
Attendees posted a number of great questions to the MySQL developers, serving to provide additional insights into how these new features are implemented. So I thought it would be useful to post those below, for the benefit of those unable to attend the live webinar (note, you can listen to the On-Demand replay which is available now).
Before getting to the Q&A, there are a couple of other resources that maybe useful to …
[Read more]High availability is about more than just making sure that applications can get to your data, even if there is a failure:
How about when you are upgrading your database schema What if you need to add memory to a database server or reconfigure/restart MySQL If your apps want to read data from a MySQL slave, how can you be sure they are not reading stale data without re-coding your apps What
An increasing number of organizations run applications that
depend on MySQL multi-master replication between remote sites.
I have worked on several such implementations recently.
This article summarizes the lessons from those experiences
that seem most useful when deploying multi-master on existing as
well as new applications.
Let's start by defining terms. Multi-master
replication means that applications update the same tables on
different masters, and the changes replicate automatically
between those masters. Remote sites mean that the
masters are separated by a wide area network (WAN), which implies
high average network latency of 100ms or more. WAN network
latency is also characterized by a long
tail, ranging from seconds due to congestion to hours or even
days if a ship runs over the wrong undersea cable.
…
New versions of MySQL are always interesting to try out. Often they have features which I may have asked for myself so it’s satisfying to see them eventually appear on a system I use. Often other new features make life easier for the DBA. Finally we hope overall performance will improve and managing the server(s) will be come easier.
So I had a system which needs to make heavy writes, and performance was a problem, even when writing to SSDs. Checkpointing seemed to be the big issue and the ib_logfile size in MySQL 5.5 is limited to 4 GB. That seems a lot, but once MySQL starts to fill these files (and this happens at ~70% of the total I believe), checkpointing kicks in heavily, and slows things down. So the main reason for trying out MySQL 5.6 was to see how things performed with larger ib_logfiles. (Yes, MariaDB 5.5 can do this too.)
Things improved a lot for my specific workload which was great news, but one thing …
[Read more]
Experienced MySQL DBAs know that temp tables cause major problems
for MySQL replication. It turns out the converse is also
true: replication can cause major problems for temporary
tables.
In a recent customer engagement we enabled Tungsten Replicator with a MySQL application that
originally ran on a server that did not use replication. QA
promptly discovered reports that previously ran in 10 seconds
were now running in as many minutes. It turned out that the
reports used temp tables to assemble data, and these were being
written into the master binlog. This created bloated
binlogs and extremely slow reports. We fixed the problem by
enabling row replication (i.e., binlog-format=row in
my.cnf).
A common DBA response to temp table problems is to try to
eliminate them completely, as suggested in the excellent …
Thanks to all of those who came by our booth and to see Leif’s presentation on Read Optimization, and to my Lightning Talk on OLTP and OLAP at the Percona MySQL Conference and Expo. It was an incredible week and a great place to launch TokuDB v6.0 from! A big thanks to Percona for a great event, to …
[Read more]MySQL 5.1 or newer can sometimes start throwing a strange message into an error log. The message states that a query was unsafe for binary logging along with some additional information. What does it mean? Is it a problem?
From time to time you might spot MySQL error log filling with the following warning:
“[Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. Statement: DELETE FROM score WHERE user_id = 12345 AND created = ’2012-04-15′ LIMIT 1″
If binary logging is enabled and the log format is set to
STATEMENT, MySQL generates such message when it
considers that a query is ambiguous and could behave differently
each time it executes against the same data set. Such situation
could happen, for example, on a …