- Three MySQL servers, but one has very limited resources and will …
Have you ever wondered if your application should be able to work in read-only mode? How important is that question?
MySQL seems to be the most popular database solution for web-based products. Most typical Internet application workloads consist of many reads, with usually few writes. There are exceptions of course – MMO games for instance – but often the number of reads is much bigger then writes. So when your database infrastructure looses its ability to accept writes, either because traditional MySQL replication topology lost its master or Galera cluster lost its quorum, why would you want to the application to declare total …[Read more]
During the last few weeks I’ve been testing
and playing a bit with the new group-replication plugin available
for MySQL 5.7. Before continuing I’d like to clarify some
aspects: the plugin is only available in labs and is not yet
ready for production. The current version is 0.6. I used
5.7.9 GA running in a Vagrant 3 nodes cluster with CentOS
As an additional note, I’ve tested previous version of plugin 0.5 against 5.7.8.rc and there are some good changes, so I recommend starting with the GA version.
For the matter of my tests I’ve followed instructions from this post. It’s not as straightforward as it looks; there were some issues that needed to be handled, but I finally …[Read more]
The MySQL Fabric team is pleased to announce that a new version is now available on Labs. This labs release includes our latest developments to give you a taste of what we have been working on. In particular, it includes the following new features and improvements:
The MySQL team are busily working on improving ways to use MySQL in scalable highly available systems. As most of you are already aware, the MySQL Group Replication project is progressing at full speed. Indeed, we just got preview release 0.5 out, while Fabric 1.5.6 was just released and work is ongoing for the Fabric 1.6 release.…
Thanks to all who attended my webinar last week on Writing Application Code for MySQL High Availability. This blog is for me to address the extra questions I didn’t have time to answer on the stream.
What do you think about using Galera Cluster but writing to a single Node with LVS ?
Whatever HA strategy you like that can present a layer 3 or layer 4 to your application tier is fine. A lot of people using PXC us it in a single-writer (master/slave) kind of way.
Is there any way we can determine slave lag and then decide to use weather master or slave? for e.g. instead of using query to find if data is available in slave then …. use if lag_time < xyz?
One of my main points was that this is usually more expensive to implement inside your application code than it …[Read more]
The MySQL Fabric team is pleased to announce that a new (GA) release is now available. This release includes several improvements in terms of stability and usability (bug fixes and feature enhancements). In a nutshell:
Like any good, thus lazy, engineer I don’t like to start things manually. Creating directories, configuration files, specify paths, ports via command line is too boring. I wrote already how I survive in case when I need to start MySQL server (here). There is also the MySQL Sandbox which can be used for the same purpose.
But what to do if you want to start Percona XtraDB Cluster this way? Fortunately we, at Percona, have engineers who created automation solution for starting PXC. This solution uses Docker. To explore it you need:
git clone https://github.com/percona/pxc-docker…
Ever since MySQL replication has existed, people have dreamed of a good solution to automatically split read from write operations, sending the writes to the MySQL master and load balancing the reads over a set of MySQL slaves. While if at first it seems easy to solve, the reality is far more complex.
First, the tool needs to make sure it parses and analyses correctly all the forms of SQL MySQL supports in order to sort writes from reads, something that is not as easy as it seems. Second, it needs to take into account if a session is in a transaction or not.
While in a transaction, the default transaction isolation level in InnoDB, Repeatable-read, and the MVCC framework insure that you’ll get a consistent view for the duration of the transaction. That means all statements executed inside a transaction must run on the master but, when the transaction commits or rollbacks, the following select statements on the session can be again …[Read more]