Skip to content

Commit 7c1e5ff

Browse files
Mazizovaclaude
andauthored
Software: add the Sharding & Horizontal Scaling subcategory (#147)
Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
1 parent a682980 commit 7c1e5ff

15 files changed

Lines changed: 74 additions & 2 deletions

File tree

‎.github/ISSUE_TEMPLATE/resource-software.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ body:
4141
- Backup & Recovery
4242
- Data Warehouse & Analytics
4343
- Replication & High Availability
44+
- Sharding & Horizontal Scaling
4445
- Proxies & Traffic Management
4546
- Connectors & Drivers
4647
- Database Management & GUI

‎RESOURCES.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ Every resource also carries a handful of **tag facets** — small, controlled se
6767

6868
Pick a `subcategories` value from your section's list, and set whichever facets apply — all are optional and multi-value (a resource can carry more than one).
6969

70-
**`content/resources/software/`** — subcategories: Database Software · Monitoring & Observability · Backup & Recovery · Data Warehouse & Analytics · Replication & High Availability · Proxies & Traffic Management · Connectors & Drivers · Database Management & GUI · DevOps & Deployment · Schema Management & Migration · Testing & Benchmarking · Security · AI & Ecosystem Skills (a resource can carry more than one subcategory, e.g. a backup tool that's also a data lakehouse)
70+
**`content/resources/software/`** — subcategories: Database Software · Monitoring & Observability · Backup & Recovery · Data Warehouse & Analytics · Replication & High Availability · Sharding & Horizontal Scaling · Proxies & Traffic Management · Connectors & Drivers · Database Management & GUI · DevOps & Deployment · Schema Management & Migration · Testing & Benchmarking · Security · AI & Ecosystem Skills (a resource can carry more than one subcategory, e.g. a backup tool that's also a data lakehouse)
7171
```yaml
7272
compatibility: ["MySQL"] # MySQL, MariaDB, Percona Server, TiDB, Vitess, HeatWave, Galera, Group Replication, RDS MySQL, DuckDB
7373
deployment: ["Self-Hosted"] # Self-Hosted, Kubernetes, Docker, Cloud-Native, On-Premises

‎content/resources/software/apache-shardingsphere/index.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ description: "A distributed SQL ecosystem that adds data sharding, read/write sp
66
subcategories:
77
- Proxies & Traffic Management
88
- Database Software
9+
- Sharding & Horizontal Scaling
910
compatibility:
1011
- MySQL
1112
deployment:
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
title: "DBLE"
3+
link: "https://opensource.actionsky.com"
4+
github: "actiontech/dble"
5+
description: "An open source middleware for MySQL sharding from ActionTech: it speaks the MySQL protocol, spreads tables across MySQL nodes, and supports distributed transactions with two-phase commit. Its last release was in November 2023."
6+
subcategories:
7+
- Sharding & Horizontal Scaling
8+
- Proxies & Traffic Management
9+
compatibility:
10+
- MySQL
11+
deployment:
12+
- Self-Hosted
13+
- Docker
14+
pricing:
15+
- Open Source
16+
images:
17+
- logo.png
18+
---
19+
20+
DBLE (pronounced "double") is a high-scalability middleware for MySQL sharding, maintained by ActionTech, a Shanghai company. It is the open source edition of ActionTech's commercial distributed database product, CTREE Shard. DBLE is based on MyCat; ActionTech dropped support for other databases to focus on MySQL, and reworked compatibility, complex queries, and distributed transactions.
21+
22+
Applications connect to DBLE as if it were MySQL, and in most cases the project says no application code changes are needed. DBLE routes queries across sharded MySQL nodes and handles complex SQL such as group by, order by, distinct, joins, and unions, with optimizations for joining global tables to sharded tables. Distributed transactions use two-phase commit, in a normal mode for performance or an XA mode for data safety, and several DBLE servers can run as a cluster so a single node failure does not stop the service.
23+
24+
Project status: the latest release, 3.23.08.0, was published in November 2023, and the last commit to the main branch was in June 2025, so the project is in maintenance mode. DBLE is one of the five sharding solutions compared in Percona's open [MySQL sharding benchmark](https://github.com/Percona-Lab/mysql-sharding-testing).
4.25 KB
Loading
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: "MyCat"
3+
link: "https://github.com/MyCATApache/Mycat-Server"
4+
github: "MyCATApache/Mycat-Server"
5+
description: "An open source Java database middleware that shards MySQL across nodes behind a single MySQL-protocol endpoint — the project DBLE was forked from. Its last release, 1.6.76, was in November 2020."
6+
subcategories:
7+
- Sharding & Horizontal Scaling
8+
- Proxies & Traffic Management
9+
compatibility:
10+
- MySQL
11+
deployment:
12+
- Self-Hosted
13+
pricing:
14+
- Open Source
15+
---
16+
17+
MyCat is an open source "large database cluster" middleware written in Java. It presents a single MySQL-compatible endpoint to applications and shards data across backend database nodes, with the stated goal of migrating a stand-alone database to a scaled-out setup at low cost and relieving the bottleneck caused by fast growth in data volume.
18+
19+
MyCat is the origin of [DBLE](/resources/software/dble/), which ActionTech forked to focus on MySQL only. The Mycat-Server repository carries the 1.6 line; its last tagged release, 1.6.76, dates from November 2020, with later commits continuing in the repository. A successor project, Mycat2, built on Apache Calcite, published its last release in June 2022. The project's documentation is mostly in Chinese.

‎content/resources/software/myenv.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: "MyEnv is an environment to run and operate several different MySQL
44
link: "https://www.fromdual.com/software/fromdual-myenv/"
55
github: "FromDual/MyEnv"
66
subcategories:
7-
- "Operations"
7+
- "DevOps & Deployment"
88
- "Database Management & GUI"
99
compatibility:
1010
- MySQL

‎content/resources/software/mysql-ndb-cluster/index.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ description: "Oracle's official shared-nothing, in-memory distributed storage en
55
subcategories:
66
- Database Software
77
- Replication & High Availability
8+
- Sharding & Horizontal Scaling
89
compatibility:
910
- MySQL
1011
deployment:

‎content/resources/software/oceanbase/index.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ description: "A distributed relational database from Ant Group with a MySQL-comp
66
subcategories:
77
- Database Software
88
- Data Warehouse & Analytics
9+
- Sharding & Horizontal Scaling
910
compatibility:
1011
- MySQL
1112
deployment:
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
title: "Spider (MariaDB)"
3+
link: "https://mariadb.com/docs/server/server-usage/storage-engines/spider/spider-storage-engine-overview"
4+
description: "A storage engine with built-in sharding for MariaDB Server: it lets tables on different MariaDB instances be handled as if they were on one, using partitions mapped to remote backends."
5+
subcategories:
6+
- Sharding & Horizontal Scaling
7+
- Database Software
8+
compatibility:
9+
- MariaDB
10+
deployment:
11+
- Self-Hosted
12+
pricing:
13+
- Open Source
14+
---
15+
16+
Spider is a storage engine for MariaDB Server, not a standalone product. A Spider table links to a table on a remote server, which can use any storage engine, so tables of different MariaDB instances can be handled as if they were on the same instance.
17+
18+
Sharding is set up with partitioning: a Spider table uses `PARTITION BY KEY`, and each partition is assigned to a remote backend server. Connection details go in the table's `COMMENT` or `CONNECTION` clause, and from MariaDB 10.8.1 they can also be defined with `CREATE SERVER` and the `REMOTE_SERVER`, `REMOTE_DATABASE`, and `REMOTE_TABLE` table options. Spider supports XA transactions, so a transaction that spans backends is committed with two-phase commit. It is one possible implementation of ISO/IEC 9075-9:2008 SQL/MED.
19+
20+
Spider's built-in high-availability feature was deprecated in MariaDB 10.7.5 and removed; MariaDB recommends replication or Galera Cluster instead. MariaDB notes that its Spider documentation is incomplete and points to the Spider project's own documentation. Spider is one of the five sharding solutions compared in Percona's open [MySQL sharding benchmark](https://github.com/Percona-Lab/mysql-sharding-testing).

0 commit comments

Comments
 (0)