session-replay-tools/cetus
FreeCetus is high-performance middleware designed to provide transparent routing between your application and backend MySQL servers.
About session-replay-tools/cetus
Cetus is high-performance database middleware developed in C for MySQL, providing transparent routing between applications and backend MySQL servers. It enables horizontal scaling and high availability with minimal application changes. Cetus offers two versions: read-write splitting and sharding. Key features include a multi-process lock-free architecture, transparent connection pooling, intelligent SQL routing, prepared statement support, result set compression, SSL/TLS (client-side), security management, status monitoring, and TCP stream processing. The sharding version adds data sharding, distributed transaction processing, bulk inserts, conditional DISTINCT, and a high-performance result set merging algorithm, plus MGR support. Cetus also ships auxiliary tools for dumpbinlog, scale-up, and XA hang handling, along with extensive documentation and Docker support.
Key Features
Pros & Cons
- High-performance C-based architecture
- Multi-process lock-free design improves efficiency
- Transparent to applications, minimal code changes required
- Comprehensive features for both read-write splitting and sharding
- SSL/TLS support for secure connections
- Open source with active community on GitHub
- Auxiliary tools for dumpbinlog, scale-up, and XA transaction handling
- Strong read consistency marked as 'to be implemented'
- C-based may have steeper learning curve for some teams
- Community support primarily via GitHub issues
- Requires careful configuration for production use