It is a database proxy that aims to solve the distributed transaction problems during business development, which provides solutions for read && write splitting, database and table sharding. Through the mesh-based deployment method, DBPack shields complex basic logic, so that business development does not need to rely on a specific SDK, which simplifies the development process and improves development efficiency.
Go Application Features
- support MYSQL protocol.
- event-driven distributed transaction solution inspired by Kubernetes.
- support read && write splitting, customized SQL route through Hint
- support audit log, support SQL tracing.
- sharding: support query on a sharded table, support order by， support limit.
- sharding: support insert, delete, update on the sharded table
- can be deployed as a sidecar so that any programming language can use it to handle the distributed transaction
- more features on the road
Golang and MySQL Prerequisites
- Go >= 1.17
- MYSQL >= 5.7
- Listener：parse SQL protocol
- Executor：forward SQL request to actual DB server
- Filter：quota statistics, SQL interception, sensitive information encryption and decryption, etc
- ConnectionFilter：handle SQL interception on the DB connection