This blog is a 2nd part of a multi-part series on areas of failover for MySQL. The first installment looked at design considerations, giving us a “thinking” perspective on what we might want to adopt. Later I will take a look at more of a business and operational way of thinking through these details. In… Read More »
This will be a multi-part series covering various areas of failover for MySQL. This first installment will primarily look at some design considerations, which you can then apply to your own environment in your own way. The concepts presented here are merely suggestions and not out-right “how-to”. Every company has specific technologies or skill-sets in… Read More »
Introduction
The early architecture of Uber consisted of a monolithic backend application written in Python that used Postgres for data persistence. Since that time, the architecture of Uber has changed significantly, to a model of microservices and new data platforms. …
The post Why Uber Engineering Switched from Postgres to MySQL appeared first on Uber Engineering Blog.
Uber Engineering
Uber’s mission is transportation as reliable as running water, everywhere, for everyone. Last time, we talked about the foundation that powers Uber Engineering. Now, we’ll explore the parts of the stack that face riders and drivers, starting …
The post The Uber Engineering Tech Stack, Part II: The Edge and Beyond appeared first on Uber Engineering Blog.
Overview
When working with Amazon AWS Aurora, there are some steps to consider when trying to get data out of an active Aurora master into a slave, potentially into a EC2 instance or offsite in another data centre. Creating an external mysql to Aurora gives the option to move out of Aurora, or to have the flexibility to move data around as desired. With AWS RDS instances this task is pretty simple because you can do the following :
- Create a read replica
- Stop the slave process
- Capture the positioning
- Dump the database
With Aurora it’s a little trickier, because a read replica in Aurora has no slave process. All of the replication is handled on the back end and cannot be controlled. However, setting up an external slave can be done.
Amazon AWS Documentation
In …
[Read more]When it comes to building database applications and solutions, developers, DBAs, engineers and architects have a lot of new and exciting tools and technologies to play with, especially with the Hadoop and NoSQL environments growing so rapidly.
While it’s easy to geek out about these cool and revolutionary new technologies, at some point in the development cycle you’ll need to stop to consider the real-world business implications of the application you’re proposing. After all, you’re bound to face some tough questions, like:
Why did you choose that particular database for our mission-critical application? Can your team provide 24/7 support for the app? Do you have a plan to train people on this new technology? Do we have the right hardware infrastructure to support the app’s deployment? How are you going to ensure there won’t be any bugs or security vulnerabilities?
If you don’t have a plan for …
[Read more]MySQL-Sandbox 3.1.11 introduces a new utility, different from anything I have put before in the MySQL Sandbox toolkit.
make_sandbox_from_url
downloads a tiny MySQL tarball
from a repository and install it straight away.
As of today, the following packages are available
Major release | versions |
package size (what you download) |
expanded size (storage used) |
original size (not included) |
---|---|---|---|---|
5.0 | 5.0.96 | 20M | 44M | 371M |
5.1 | … |
In this blog, I intend to present the MySQL Enterprise Monitor (MEM), and also to present a multi-machine vagrant setup by adding a vagrant-hostmanager plugin to configure the /etc/hosts on the VMs. To start, I begin by installing the hostmanager plugin on my mac where I manage my environments. [crayon-58c2f17573ee8441268854/] OK, so that was easy.… Read More »
Awhile ago I found myself analyzing a MySQL fabric installation to understand why a group member was occasionally being marked as FAULTY even when the server was up and running and no failures were observed.
server_uuid address status mode weight ------------------------------------ ----------- ------- ---------- ------ ab0b0653-6121-11c5-55a0-007543445454 mysql1:3306 PRIMARY READ_WRITE 1.0 f34dd331-2432-11f4-a2d3-006754678533 mysql2:3306 FAULTY READ_ONLY 1.0
Upon reviewing mysqlfabric logs, I found the following warnings were being logged from time to time:
[WARNING] 1442221217.920115 - FailureDetector(xc_grp_1) - Server (f34dd331-2432-11f4-a2d3-006754678533) in group (xc_grp_1) is unreachable
Since I was not clear under which circumstances a server is marked as FAULTY, I decided to review MySQL Fabric code (Python) to better …
[Read more]Replication between Tungsten clusters
The process I will describe in this post will allow you to configure replication between Tungsten clusters. The most common use case I have seen for this is a dedicated ETL cluster.
The setup will look like this:
So we will have a composite datasource (compositeprod) composed of east and west clusters, and two ETL clusters, one on each side.
The described setup allows failover or switchover within a single datacenter (e.g. db1.east -> db2.east) or to the Disaster Recovery Site, (e.g. db1.east -> db1.west) for the core cluster.
At the time of this article’s publication it is not possible to replicate between two composite clusters, so each ETL cluster needs to be standalone. This feature is expected for Tungsten 5.0 release.
We will install a standalone replicator on the ETL hosts to bring data in …
[Read more]