{"id":13671853,"url":"https://github.com/database-mesh/pisanix","last_synced_at":"2025-12-15T14:29:47.291Z","repository":{"id":36965038,"uuid":"481461178","full_name":"database-mesh/pisanix","owner":"database-mesh","description":"A Database Mesh Project Sponsored by SphereEx","archived":false,"fork":false,"pushed_at":"2023-03-02T08:39:30.000Z","size":6271,"stargazers_count":282,"open_issues_count":18,"forks_count":37,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-11T09:44:12.481Z","etag":null,"topics":["cloudnative","database","database-mesh","kubernetes","multicloud","service-mesh","sharding","wasm","webassembly"],"latest_commit_sha":null,"homepage":"https://www.pisanix.io","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/database-mesh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-14T04:07:43.000Z","updated_at":"2024-11-05T01:51:59.000Z","dependencies_parsed_at":"2024-06-23T06:02:28.577Z","dependency_job_id":null,"html_url":"https://github.com/database-mesh/pisanix","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/database-mesh%2Fpisanix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/database-mesh%2Fpisanix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/database-mesh%2Fpisanix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/database-mesh%2Fpisanix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/database-mesh","download_url":"https://codeload.github.com/database-mesh/pisanix/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251187328,"owners_count":21549619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudnative","database","database-mesh","kubernetes","multicloud","service-mesh","sharding","wasm","webassembly"],"created_at":"2024-08-02T09:01:20.300Z","updated_at":"2025-12-15T14:29:42.242Z","avatar_url":"https://github.com/database-mesh.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"[![GitHub release](https://img.shields.io/github/release/database-mesh/pisanix.svg)](https://github.com/database-mesh/pisanix/releases)\n[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)\n[![Slack](https://img.shields.io/badge/%20Slack-DatabaseMesh%20Channel-blueviolet)](https://join.slack.com/t/databasemesh/shared_invite/zt-19rhvnxkz-USjZ~am~ghd_Q0q~8bAJXA)\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdatabase-mesh%2Fpisanix.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fdatabase-mesh%2Fpisanix?ref=badge_shield)\n\n\u003e Briefly, if applications want a MySQL, just access `localhost:3306`.\n\n# Introduction\n\n`Pisanix` [Pi-sanics] is a modern database governance framework for Kubernetes. Pisanix adds SQL-aware traffic control, audit, security and extension abilities to help manage various databases in the [Database Mesh](https://www.database-mesh.io) way.\n\n`Pisanix` has *4* major features:\n\n1. *Local Service as Database*: Pisanix provides a local database service, that is one applications could access a MySQL at localhost:3306 without any knowledge of the real data source. \n2. *Unified Config Management*: Pisanix provides a centralized management of Database Mesh configurations, including traffic strategies like read-write splitting, sharding, encryption and concurrency control.\n3. *Multi Protocol Support*: Pisanix has a bunch of different plugins to help build a **Glue Layer** for any database protocols. \n4. *Cloud Native Architecture*: Pisanix takes advantage of the classic control plane and data plane pattern, using Infrastructure as Code to make it a versioned database access behavior.\n\n \u003cimg src=\"static/dbmesh-layer.png\" width=\"600\" length=\"600\"/\u003e\n\n# Current Status \n\nPisanix now supports `TrafficStrategy` of [Database Mesh Specificiation](https://github.com/database-mesh/database-mesh), besides `VirtualDatabase`, `DatabaseEndpoint`, and other features like `AuditRequest` and `AccessControl` are also on the way:\n\n- TrafficStrategy\n  - Load Balance  \n    - [x] Simple LoadBalance \n    - [x] Read Write Splitting\n      - [x] Static \n      - [x] Dynamic\n        - [x] Master-Slave Replication\n        - [x] MHA\n  - Plugins\n    - [x] Circuit Break\n    - [x] Concurrency Control\n- DataStrategy\n  - Sharding\n    - [x] Sharding with keys  \n       - [x] Single Database Sharding Tables  \n       - [x] Sharding Databases\n       - [x] Sharding Databases with Sharding Tables\n- AuditRequest\n  - [ ] Audit with AWS    \n- AccessControl\n  - [ ] Fine-Grained Access Control   \n- QoSClaim  \n  - [x] TrafficQoS\n- DatabaseClass\n  - [x] AWSRdsInstance \n \n\n# Getting Started\n- [Quick Start](https://www.pisanix.io/docs/quickstart)\n\n# Highlights\n\nPisanix has 3 components:\n\n* ***Pisa-Controller***: A Golang control plane designed for sidecar injection and configuration transformation\n* ***Pisa-Proxy***: A high performance Rust data plane used as SQL traffic proxy, support various of traffic governance capabilities.\n* ***Pisa-Daemon(Coming Soon)***: A optional data plane works on every node, provide programmable runtime management such as TrafficQoS.\n\n \u003cimg src=\"static/pisanix-arch.png\" width=\"600\" length=\"600\"/\u003e\n\n# Goals \n\n`Pisanix` has the following goals:\n\n1. SQL-Aware Traffic Control: supports SQL traffic load balancing, access control, observability.\n2. Runtime Resource-oriented Programming: supports extensible resource control abilities.\n3. Database Reliability Engineering: make DBA's life easier with Kubernetes\n\n## Database traffic governance\n\nApplications access databases with SQL, so Pisanix will hijack all SQL traffic. This is a great opportunity to do a lot of things around traffic, like loadbalancing and SQL firewall.\n\n## Observability\n\nIn the past, metrics could be retrieved from database instances and display in kinds of charts. Now with Pisanix, DBAs could have more chances to achieve better observability.\n\n## Programmable \n\nFor DBAs who could and would like to solve problems with programming. Pisanix supports many kinds of plugin mechanism, like Lua and Wasm. People will have the chance to 'reshape' the expected behavior of databases.\n\n# Documentation\n\nFull documentation will be available on the [Pisanix website](https://www.pisanix.io/).\n\n# Contribution\n\nPlease follows [Contributing Guide](./CONTRIBUTING.md)\n\n# Community \u0026 Support\n\n| | |\n|:-|:-|\n| Mailing List| https://groups.google.com/g/database-mesh |\n| Dev Meetings (Starting Feb 16th, 2022), Bi-weekly Wednesday 9:00AM PST|https://meet.google.com/yhv-zrby-pyt |\n| Dev Meetings APAC Friendly (Starting April 27th, 2022), Bi-weekly APAC Wednesday 9:00PM GMT+8|https://meeting.tencent.com/dm/6UXDMNsHBVQO |\n| Wechat Broker|pisanix|\n| Slack |https://join.slack.com/t/databasemesh/shared_invite/zt-19rhvnxkz-USjZ~am~ghd_Q0q~8bAJXA  |\n| Meetings Notes |https://bit.ly/39Fqt3x |\n\n- Wechat User Group: Broker wechat to add you into the user group.\n \u003cimg src=\"static/wechat-user-group-broker.jpeg\" width=\"200\" length=\"200\"/\u003e\n\n# Roadmap\n\nThe Pisanix project is still at an early stage. In the next work, it will focus on enhancing the governance capabilities of traffic, such as data sharding, application data access auditing , and runtime resource QoS, etc. And it will continuously improve the performance and provide an ease of use experience, support plugin extensions to fit different business scenarios.\n\n\n## License\n\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdatabase-mesh%2Fpisanix.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fdatabase-mesh%2Fpisanix?ref=badge_large)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatabase-mesh%2Fpisanix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatabase-mesh%2Fpisanix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatabase-mesh%2Fpisanix/lists"}