Awesome
Cetus
Introduction
Cetus is middleware developed in C for the relational database MySQL, primarily offering comprehensive database access proxy functionality. Cetus is designed to be largely compatible with MySQL connections, allowing applications to access the database through Cetus with minimal changes, thus achieving horizontal scaling and high availability at the database layer.
Version Selection
For production environments, it is recommended to use the latest Release version.
Key Features
Cetus is available in two versions: read-write splitting and sharding (where sharding is a specific form of database splitting).
For the read-write splitting version:
- Multi-process, lock-free design for improved efficiency
- Supports transparent backend connection pooling
- Supports SQL read-write splitting
- Enhanced SQL routing
- Supports prepared statements
- Supports result set compression
- Supports security management
- Supports status monitoring
- Supports TCP stream processing
- Supports domain name-based backend connections
- SSL/TLS support (client-side)
- Strong read consistency support (to be implemented)
For the database sharding version:
- Multi-process, lock-free design for improved efficiency
- Supports transparent backend connection pooling
- Supports SQL read-write splitting
- Supports data sharding
- Supports distributed transaction processing
- Supports bulk insert operations
- Supports conditional DISTINCT operations
- Enhanced SQL routing
- Supports result set compression
- Features a high-performance result set merging algorithm
- Supports security management
- Supports status monitoring
- Supports TCP stream processing
- Supports domain name-based backend connections
- SSL/TLS support (client-side)
- MGR support
- Strong read consistency support (to be implemented)
Detailed Description
Installing and Using Cetus
Cetus Architecture and Design
Cetus Architecture and Implementation
MySQL XA Transaction Issues Discovered by Cetus
Explanation of MySQL XA Transaction Issues
Cetus Auxiliary
Cetus Testing
Note
- Cetus runs exclusively on Linux.
- Cetus cannot be compiled with MySQL 8.0 development.
- Cetus supports only
mysql_native_password
. - For non-Chinese users, please visit visit mysql-proxy.
Bugs and Feature Requests
Have a bug or a feature request? Please open a new issue. Before opening any issue, please search for existing issues.