https://github.com/wesql/wescale Skip to content Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} wesql / wescale Public * Notifications * Fork 3 * Star 78 WeScale is a database proxy that cares about your application, the development experience, and supports OnlineDDL. License Apache-2.0 license 78 stars 3 forks Activity Star Notifications * Code * Issues 17 * Pull requests 5 * Discussions * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Discussions * Actions * Projects * Security * Insights wesql/wescale This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 27 branches 2 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/w] Use Git or checkout with SVN using the web URL. [gh repo clone wesql/] Work fast with our official CLI. Learn more about the CLI. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @earayu earayu FIX README ... c1be265 Dec 16, 2023 FIX README c1be265 Git stats * 32,399 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github feat: remove vttestserver (#387) December 12, 2023 19:21 config feat: remove sql_mode restrict (#173) July 4, 2023 00:02 data/test Add support for certification revocation list files October 13, 2021 17:17 doc FIX README December 17, 2023 02:03 docker feat: remove vttestserver (#387) December 12, 2023 19:21 examples Feature/branch skip copy phase (#378) December 8, 2023 17:37 go feat: apply diffEntries and compare with target schema (#385) December 13, 2023 14:05 hack Revamp End-To-End Testing Framework for Better Compatibility and Read... May 19, 2023 13:20 java Release of v16.0.0 (#12470) February 28, 2023 20:39 misc Documentation: Need to add some documentation for features in WeSQL-S... August 24, 2023 13:25 proto Feature/branch skip copy phase (#378) December 8, 2023 17:37 resources/bin feat: remove ghost and ptosc (#268) September 12, 2023 21:04 support Fix typo November 12, 2020 08:00 test feat: add paused state to online DDL scheduler (#357) November 13, 2023 16:56 tools Feature/postpone the read write split decision (#374) November 29, 2023 10:24 vitess-mixin Chore/change repo name (#276) September 14, 2023 14:43 web/vtadmin Schema RPC to fetch table/view definition (#12375) February 21, 2023 09:32 .checklicenseignore test: add vrepl_suite and vrepl_stress_suite testcase (#340) October 31, 2023 10:25 .codeclimate.yml bootstrap: Install protobuf gRPC Python plugin via PyPi and do not co... April 8, 2018 16:46 .dockerignore add vtadmin docker image (#10543) June 26, 2022 08:02 .gitattributes Cleanup usage of go.rice in favor of go:embed (#10956) August 9, 2022 14:15 .gitignore Add Branch Functionality to WeSQL (#372) November 28, 2023 15:30 .gitmodules php: drop php client December 5, 2017 19:37 .golangci.yml Upgrade release-16.0 to go1.20.1 (#12398) February 27, 2023 14:51 CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md January 30, 2018 13:32 CONTRIBUTING.md Change http to https for security links February 16, 2019 12:41 DCO Add git hook to check for DCO signoff. March 1, 2018 10:55 Dockerfile Re-add "Dockerfile" for base image in the root of our repository. April 14, 2017 15:18 LICENSE license: BSD->Apache v2.0 May 6, 2017 00:38 Makefile test: add vrepl_suite and vrepl_stress_suite testcase (#340) October 31, 2023 10:25 README.md Update README.md (#361) November 13, 2023 19:18 bootstrap.sh Chore/polish example scripts (#124) June 11, 2023 02:02 build.env Chore/test pre push (#121) June 11, 2023 00:27 dev.env Fix two additional flaky test sources in endtoend tests (#11743) November 16, 2022 18:25 go.mod Feature/branch skip copy phase (#378) December 8, 2023 17:37 go.sum Feature/branch skip copy phase (#378) December 8, 2023 17:37 sonar-project.properties Handled ineffectual errors June 23, 2020 23:03 test.go Upgrade release-16.0 to go1.20.1 (#12398) February 27, 2023 14:51 View code [ ] WeScale Getting Started Blogs Documentation Developer Features Contributing License Acknowledgements README.md WeScale LICENSE Language Unit Test (mysql57) Unit Test (mysql80) E2E Test MTR Test 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. Getting Started To Get Started with WeScale, simply clone the repository and follow the installation instructions provided in the documentation. Blogs * 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 Documentation * 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 Developer * Use FailPoint Injection In WeScale.md Features 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. Contributing 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. License WeScale is released under the Apache 2.0 License. Acknowledgements 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. About WeScale is a database proxy that cares about your application, the development experience, and supports OnlineDDL. Resources Readme License Apache-2.0 license Code of conduct Code of conduct Activity Stars 78 stars Watchers 6 watching Forks 3 forks Report repository Releases 2 tags Packages 0 No packages published Contributors 9 * @earayu * @gerayking * @lyq10085 * @newborn22 * @kubeJocker * @ZhaoDiankui * @jairuigou * @weicao * @cnut Languages * Go 91.6% * Java 3.8% * TypeScript 2.1% * Shell 0.7% * Yacc 0.7% * Jsonnet 0.5% * Other 0.6% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * You can't perform that action at this time.