DBPack
DBPack is a database proxy pack aims to provide a distributed transaction solution of high performance and has no invasion into business logic. It can be deployed as a sidecar in a pod, which can shield complex basic logic, so that business development does not need to rely on a specific SDK, simplifying the development process and improving development efficiency. It supports any programming language and is easy to use.
Feature
- support MYSQL protocol.
- event driven distributed transaction solution inspired by kubernetes.
- support read write splitting and custom SQL routing via Hint.
- support audit log and SQL tracing.
- sharding: support query on sharded table, support
order by
and limit
.
- sharding: support
insert
, delete
, update
on sharded tables.
- can be deployed as a sidecar,support any programming language.
- more features on the road.
Metrics
using prometheus metrics, default metric server runs at :18888
Getting Started
Requirements
Contribution Guide
Architecture
- Listener: responsible for parsing the SQL protocol.
- Executor: responsible for forwarding SQL requests to the backend physical DB.
- Filter: responsible for metrics statistics, SQL interception, encryption and decryption of sensitive information, etc.
- ConnectionFilter: process the intercepted SQL on the connection.
Stargazers
License
DBPack is licensed under the Apache License, Version 2.0.