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
Architecture
- 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
There is no ads to display, Please add some