session-replay-tools/cetus logo

session-replay-tools/cetus

Free

Cetus is high-performance middleware designed to provide transparent routing between your application and backend MySQL servers.

FreeFree tier
Type
Open Source

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

Multi-process lock-free design for improved efficiency
Transparent backend connection pooling
SQL read-write splitting
Prepared statement support
Result set compression
SSL/TLS support (client-side)
Security management and status monitoring
Data sharding (sharding version)
Distributed transaction processing (sharding version)
High-performance result set merging (sharding version)

Pros & Cons

Pros
  • 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
Cons
  • 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

Best For

Horizontal scaling of MySQL databasesRead-write splitting to balance loadDatabase sharding for large datasetsHigh availability with transparent failoverProxy for legacy applications to scale without code changes

FAQ

What is Cetus?
Cetus is high-performance 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.
What are the two versions of Cetus?
Cetus offers two versions: read-write splitting and sharding. The read-write splitting version optimizes query distribution, while the sharding version adds data sharding and distributed transaction support.
Does Cetus support SSL/TLS?
Yes, Cetus supports SSL/TLS on the client side for secure connections.
Is Cetus production-ready?
For production environments, it is recommended to use the latest Release version available on GitHub.
Does Cetus support prepared statements?
Yes, Cetus supports prepared statements.
What auxiliary tools are included with Cetus?
Cetus includes auxiliary tools for dumpbinlog, scale-up, and XA hang handling, along with documentation and Docker support.