/cetus

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

Primary LanguageCGNU General Public License v2.0GPL-2.0

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

  1. Cetus Quick Start

  2. Cetus Installation Instructions

  3. Cetus Read-Write Splitting Configuration File Instructions

  4. Cetus Sharding Configuration File Instructions

  5. Cetus Startup Configuration Options

  6. Cetus Usage Constraints

  7. Cetus Read-Write Splitting Edition User Guide

  8. Cetus Read-Write Splitting Edition Management Manual

  9. Cetus Sharding Edition User Guide

  10. Cetus Sharding Edition Management Manual

  11. Cetus Full Log Usage Manual

  12. Introduction to Cetus Routing Strategies

  13. Cetus partition Usage Instructions

  14. Cetus Data Migration Tracking Tool User Manual

Cetus Architecture and Design

Cetus Architecture and Implementation

MySQL XA Transaction Issues Discovered by Cetus

Explanation of MySQL XA Transaction Issues

Cetus Auxiliary

  1. Cetus XA Hang Handling Tool

  2. Cetus + MHA High Availability Solution

  3. Cetus RPM Documentation

  4. Cetus Docker Image Usage

  5. Cetus Web-Based Graphical Management Interface

Cetus Testing

Cetus Testing Report

Note

  1. Cetus runs exclusively on Linux.
  2. Cetus cannot be compiled with MySQL 8.0 development.
  3. Cetus supports only mysql_native_password.
  4. 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.