mycatapache/mycat-server

MyCAT is a database middleware that acts as a MySQL proxy and cluster solution for enterprises seeking to scale distributed databases.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 18 minutes ago
Added to GitGenius on September 6th, 2026
Created on December 4th, 2014
Open Issues & Pull Requests: 950 (+0)
GitHub issues: Enabled
Number of forks: 3,806
Total Stargazers: 9,516 (+0)
Total Subscribers: 654 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 0.0 hours
Mean response time: 15.5 days
90th percentile: 134.0 days
Tracked items: 9

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 10
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,163 days
Stale 30+ days: 10
Stale 90+ days: 10

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (5)
  • help wanted (3)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

MyCAT is a database middleware that acts as a MySQL proxy and cluster solution for enterprises seeking to scale distributed databases.

MyCAT addresses the bottleneck of rapid data growth and business scaling by providing a middleware layer that sits between applications and databases. It works by intercepting SQL queries and distributing them across multiple database nodes, enabling horizontal scaling without requiring application rewrites. The tool supports sharding strategies including range-based partitioning, ER-relation-based fragmentation for efficient joins, and global tables that replicate across nodes. It can proxy connections to MySQL, Percona, MariaDB, and other databases like Oracle, DB2, and SQL Server, presenting them uniformly as MySQL to clients.

Organizations should consider MyCAT when migrating monolithic databases to distributed architectures on cloud infrastructure with minimal application changes. It suits projects that need read-write separation, high availability through automatic failover, and multi-node clustering without the cost of commercial solutions. The tool is positioned as an alternative to expensive enterprise database clusters, particularly for teams already invested in MySQL ecosystems.

The project maintains documentation in both English and Chinese with getting-started guides and an authoritative reference manual. Development activity shows attention to specific algorithmic improvements, such as optimizations to partition distribution logic. The maintainers track known limitations explicitly, documenting that batch inserts, multi-statement queries, and off-heap merging contain bugs that should be avoided. A separate branch maintains compatibility with specific dependency versions independently from the main codebase.