Arana
Arana
is a Cloud Native database proxy. It can be deployed as a Database mesh sidecar. It provides transparent data access capabilities,
when using arana
, user doesn't need to care about the sharding
details of database, they can use it just like a single MySQL
database.
Overview
Stargazers Over Time | Contributors Over Time |
---|---|
Introduction | 中文
First, Arana
is a Cloud Native Database Proxy. It provides transparent data access capabilities, when using arana
,
user doesn't need to care about the sharding
details of database, they can use it just like a single MySQL
database.
Arana
also provides many db abilities, such as Multi Tenant
, Distributed transaction
, Shadow database
, SQL Audit
, Data encrypt / decrypt
and so on. Through simple config, user can use these abilities provided by arana
directly.
Second, Arana
can also be deployed as a Database mesh sidecar. As a Database mesh sidecar, arana switches data access from
client mode to proxy mode, which greatly optimizes the startup speed of applications. It provides the ability to manage database
traffic, it takes up very little container resources, and provides all the capabilities of proxy, while doesn't affect the performance
of application services in the container.
Architecture
Features
Feature | Complete |
---|---|
Single DB Proxy | √ |
Read Write Splitting | √ |
Sharding | √ |
Multi Tenant | √ |
Distributed Primary Key | WIP |
Distributed Transaction | WIP |
Shadow Table | WIP |
Database Mesh | WIP |
Tracing / Metrics | WIP |
SQL Audit | Roadmap |
Data encrypt / decrypt | Roadmap |
Getting started
Please reference this link Getting Started
arana start -c ${configFilePath}
Prerequisites
- Go 1.18+
- MySQL Server 5.7+
Design and implementation
Roadmap
Built With
- TiDB - The SQL parser used
Contact
Arana Chinese Community Meeting Time: Every Saturday At 9:00PM GMT+8
Contributing
Thank you for helping us improving the project! We are so happy to have you! We have a contributing guide to help you get involved in the Arana project.
License
Arana software is licenced under the Apache License Version 2.0. See the LICENSE file for details.