Migrated repository
Go to file
2024-08-20 10:32:44 +08:00
cmake Add files to cetus project 2018-03-06 14:00:39 +08:00
deps Add files to cetus project 2018-03-06 14:00:39 +08:00
doc Update cetus-configuration.md 2021-04-09 16:35:39 +08:00
dumpbinlog-tool Update readme.md 2019-02-21 15:47:31 +08:00
lib Fix reload problems related to the remote config 2022-05-16 21:09:49 +08:00
libev Optimize some code 2019-01-09 17:41:14 +08:00
mha_ld modify cetus's state unknown->up, maintaining->down 2018-05-11 15:03:47 +08:00
plugins Add max connection info while waiting one backend connection failed 2023-04-25 20:26:18 +08:00
scale-up-tool Update readme.md 2019-02-28 18:58:12 +08:00
scripts support: service cetus status 2019-04-28 10:05:02 +08:00
src Add max connection info while waiting one backend connection failed 2023-04-25 20:26:18 +08:00
tools Fix several problems revealed by static analysis 2018-05-21 15:14:39 +08:00
xa-suspension-tool Add files via upload 2018-03-07 17:13:33 +08:00
.gitignore fix bug: HAVING field check 2018-08-10 15:42:59 +08:00
cetus.pc.cmake Don't put proxy and shard together in one compilation and fix several warnings 2018-03-15 10:27:22 +08:00
CMakeLists.txt Release 2.4.0 2023-04-25 20:40:08 +08:00
config.h.cmake Fix group by without aggr fun problems and refactor SIMPLE_PARSER 2018-03-12 15:52:54 +08:00
COPYING Add files to cetus project 2018-03-06 14:00:39 +08:00
COPYING.rtf Add files to cetus project 2018-03-06 14:00:39 +08:00
mysql-chassis.pc.cmake Add files to cetus project 2018-03-06 14:00:39 +08:00
README_XA Fix xa transaction problems(using slave connections) 2018-03-08 17:11:23 +08:00
README.md Update README.md 2024-08-20 10:32:44 +08:00

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.