MySQL's official HA middleware
Http://www.mysql.com/products/enterprise/fabric.html
MySQL Fabric is a extensible framework for managing farms of MySQL Servers. The features has been Implemented-high availability (HA) and scaling out using data sharding. These features can be used in isolation or in combination.
Webinar:mysql fabric-high availability & automated sharding?
Both features is implemented in both layers:
- The mysqlfabric process which processes any management requests. When using the HA feature, this process can also is made responsible for monitoring the master server and initiating Failo Ver to promote a slave to be the new master should it fail.
- MySQL Fabric-aware connectors Store a cache of the routing information that it had fetched from MySQL Fabric and then uses That information-to-send transactions or queries to the correct MySQL Server.
MySQL Fabric provides high availability and database sharding for MySQL Servers
High Availability
ha Groups is formed from pools of the or more MySQL Servers; At those servers is the Primary (MySQL Replication master) and the others are secondaries (MySQL Replication slaves). The role of a HA group is to ensure this access to the data held within that Group is always available.
while MySQL Replication allows the data to being made safe by duplicating it, for a HA solution both extra components is nee Ded and MySQL Fabric provides these:
- failure detection and promotion   -MySQL Fabric monitors the Primary within the HA group and should that server fail then it selects one of the secondaries and promotes it to be the P Rimary
- Routing of Database requests -The routing of writes to the Primary and load balancing reads across the slaves are transparent to the Applicat Ion, even when the topology changes during failover
Sharding-scaling out
when nearing the capacity or write performance limit of a single MySQL Server (or HA Group), MySQL Fabric can is used to Scale-out the database servers by partitioning the data across multiple MySQL Server "groups". Note that a-group could contain a single MySQL Server or it could is a HA group.
the administrator defines how data should be sharded between these servers; indicating which table columns should be used as shard keys and whether HASH or RANGE mappings should is used to map from Those keys to the correct shard.
If further shards is needed then MySQL Fabric can split existing shards; It is also possible to relocate shards.
MySQL Fabric-aware Connectors
MySQL Fabric-aware connectors is currently available for Java, PHP and Python. These connectors automatically fetch routing information from MySQL Fabric and then cache it on order to route queries and Transactions directly to the correct MySQL Server. The application simply provides the sharding Key-with no knowledge of the topology of the server farm or the state of a Y server.
Proxy-free operation
As transactions and queries be routed directly to the correct MySQL Server, there is no need for a proxy Function-savin G Latency and complexity. In addition, there are no need for agents to was run on any of the target machines.
Additional Resources
- White Paper:mysql fabric-a Guide to Managing MySQL high availability and Scaling out
- Presentation:mysql Fabric-mysql High Availability and Scaling out
- MySQL Fabric Documentation