flike/kingshard

A high-performance MySQL proxy

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 51 minutes ago
Added to GitGenius on September 10th, 2026
Created on July 4th, 2015
Open Issues & Pull Requests: 160 (+0)
GitHub issues: Enabled
Number of forks: 1,216
Total Stargazers: 6,398 (+0)
Total Subscribers: 382 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.4 hours
Mean response time: 470.5 days
90th percentile: 1780.8 days
Tracked items: 4

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: 4
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,013 days
Stale 30+ days: 4
Stale 90+ days: 4

Recent activity

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

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

kingshard is a high-performance MySQL proxy written in Go that enables read-write splitting and horizontal sharding across multiple database nodes.

The tool addresses the complexity of scaling MySQL by providing a proxy layer that intercepts client connections and routes queries intelligently. It supports hash, range, and date-based sharding strategies to distribute data across multiple nodes, while also handling read-write splitting to direct queries to appropriate backends. The proxy implements the MySQL wire protocol, allowing clients to connect without modification. Performance is approximately eighty percent of direct MySQL connections.

Developers should adopt kingshard when building MySQL clusters that require horizontal scaling through sharding. It suits projects needing to distribute large datasets across multiple database instances while maintaining a unified interface for applications. The tool handles common SQL operations including select, insert, update, replace, and delete statements, along with aggregate functions and joins. It includes features for managing multiple read replicas with load balancing, forcing reads from the master when necessary, and supporting prepared statements. Dynamic configuration changes and backend node management allow operational flexibility without restarting the proxy.

The project shows consistent maintenance with regular commits addressing bugs and feature requests. Development activity demonstrates responsiveness to issues raised by users. The codebase receives updates that refine sharding logic and improve stability of the proxy layer. Contributors engage with pull requests and incorporate feedback from the community using the tool in production environments.