Skip to main content

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

License codecov Go Report Card Release Docker Pulls

Stargazers Over TimeContributors Over Time
Stargazers over timeContributor 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

FeatureComplete
Single DB Proxy
Read Write Splitting
Sharding
Multi Tenant
Distributed Primary KeyWIP
Distributed TransactionWIP
Shadow TableWIP
Database MeshWIP
Tracing / MetricsWIP
SQL AuditRoadmap
Data encrypt / decryptRoadmap

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.