WeScale is a database proxy designed to enhance the scalability, performance, security, and resilience of your applications.
By managing connections, read-write-split, read-after-write-consistency, load balancing, WeScale offers
a valuable tool for developers and database administrators.
- To Get Started On Your Local Machine with WeScale, simply clone the repository and follow the installation instructions provided in the documentation.
- To Deploy WeScale on Kubernetes, you can use the powerful Kubeblocks Operator to quickly launch a WeScale cluster in a Kubernetes cluster. We recommend this method for production environments.
- Introduction To WeScale.md
- Dive into Read-Write-Splitting of WeScale.md
- Performance Comparison WeScale vs MySQL.md
- Execution Process of DROP TABLE in OnlineDDL Mode.md
- Deploy & Debug.md
- Architecture.md
- Life of A Query.md
- Read-Write-Split & LoadBalancer.md
- Read-After-Write-Consistency.md
- Transparent Failover.md
- Authentication & Authorization.md
- OnlineDDL User Guide
- Branch Tutorial
- Non-Transactional DML
- Show Tablets Query Plans
- Filters
- Write a Wasm Plugin In WeScale
Connection Management: WeScale efficiently manages connections to your database, reducing the overhead on your application and improving performance. WeScale relieves you of the worry of the max_connection problem in your database.
Read Write Split: WeScale simplify application logic by automatically routing read queries to read-only nodes and write queries to the primary node. This is achieved by parsing and analyzing SQL statements, which ensures efficient use of available resources.
Read After Write Consistency: When an application writes data to the primary node and subsequently reads it on a read-only node, WeScale makes sure that the data that was just written to the primary node can be accessed and read from the read-only node.
Load Balancing: The proxy intelligently routes queries to the appropriate read-only nodes using various load balancing policies. This ensures that the workload is evenly distributed across all available nodes, optimizing performance and resource utilization
Transparent Failover: WeScale is capable of automatically detecting failovers and buffering application SQL in its memory while keeping application connections intact, thus enhancing application resilience in the event of database failures.
We welcome contributions to WeScale! If you have any ideas, bug reports, or feature requests, please feel free to open an issue or submit a pull request.
WeScale is released under the Apache 2.0 License.
WeScale is a fork of the Vitess project, which is a database clustering system for horizontal scaling of MySQL. We would like to thank the Vitess team for their hard work.