[1] The basic concept Mycat
[1.1] Mycat in the database - the logical library
The physical Mysql backend database, the library packaged into logical, as shown, the db01 ~ db03 packaged into logical bank User_DB.
Can the concept of view to understand it, you can hide the complexity of back-end database structure distribution.
[1.2] Mycat Database - A logical table
The rear end Mysql physical database table, packaged into logic table. Below, the sub-library sub-table technique (i.e., a table into a plurality of sub-tables, and each sub-table in different databases) encapsulated in a layer of uniform Mycat for USER_DB logical view database access, which is a logic table user_inf.
Can the concept of view to understand it, you can hide the complexity of back-end database structure distribution.
[2] Mycat Key Features
[2.1] Key Features
(1) supports the SQL92 standard: SQL carried out in order to resolve SQL Routing
(2) support a variety of Mysql cluster: If a master-slave, a master multi-slave, multi-master multi-slave, multi-master cluster
(3) supports JDBC database link: to connect a variety of relational databases and database nosql (mongodb) through it
(4) support NOSQL database: If mongodb
(5) support automatic failover, high availability: it is only specified from the library for writing only after failure of a primary library (HA architecture different from the MHA and the like)
(6) supports the separate read and write: SQL can be used to route the read and write operations separated
(7) supports a global table: a global table to automatically segment to all nodes
(8) supports partitioning strategy based on the unique relationship between ER: The handle table and the parent table is automatically assigned to the same node, to avoid cross-database
(9) supports consistency HASH fragmentation: fragmentation expansion resolve the issue, recommended the establishment of a sufficient number of slices in a machine when in actual use, when not meet the requirements, you can then migrate to other portions slice machine.
(10) supports multi-platform deployment: is because the use of JAVA development, well integrated portability of JAVA
(11) supports global SEQ ID NO: fragment table solve the problem globally unique ID.
[2.2] core focus characteristics
(1) support a variety of Mysql cluster: If a master-slave, a master multi-slave, multi-master multi-slave, multi-master cluster
(2) support automatic failover, high availability: it merely specifies (HA architecture different from the MHA and the like) for writing it from the library after a failure the master library
(3) supports the separate read and write: SQL can be used to route the read and write operations separated
(4) supports a global table: a global table to automatically segment to all nodes
(5) support consistency HASH fragmentation: fragmentation expansion resolve the issue, recommended the establishment of a sufficient number of slices in a machine when in actual use, when not meet the requirements, you can then migrate to other portions slice machine.
(6) supports global SEQ ID NO: fragment table solve the problem globally unique ID.