Abase database management system

The architecture of Abase database management system is introduced as follows:

1. Overview
Abase is an open source distributed database middleware, which realizes automatic expansion and contraction, failover and query routing of MySQL database.

2. Functional Architecture 
- Separation of Read and Write: Split into Master and Slave Services
- Automatic Scaling: Complete Scaling According to Load Level
- Load Balancing: Routing Based on Query Analysis
- Failover: Quickly Switch to a New Master Database to Provide Services
- Monitoring Platform: SQL Monitoring and Performance Monitoring

3. Technical architecture
- Proxy agent node: realize connection access and query forwarding
- Syncer node: synchronize the binlog of the main library to the slave library 
- Heartbeat module: cluster heartbeat detection
- SQL parsing module: parse SQL to determine routing

4. Deployment architecture
- Proxy agent layer deployment
- MySQL master-slave cluster deployment
- add Syncer and Heartbeat modules

5. Security architecture
- Support SSL/TLS data transmission encryption
- Filter unsafe statements through Proxy
- Support IP whitelist to restrict access

6. Data architecture
- MySQL master-slave replication log binlog
- Metadata metadata storage routing rules
- heartbeat and status data storage

The advantages and disadvantages of Abase and benchmarking analysis are as follows:

advantage:

- Support seamless horizontal expansion of MySQL database
- Realize read-write separation and load balancing of MySQL
- Simplify MySQL high availability and failover schemes
- Ensure strong consistency of master-slave data
- Simple deployment and use
- Little impact on performance , OVERHEAD low

shortcoming:

- Only for MySQL databases, not
universal - Relatively single function, only as database middleware 
- Unable to handle cross-data center scenarios
- Complex SQL may cause parsing error routing
- Only static routing configuration is supported, less flexible

Benchmarking products:

- CDB: Aliyun's database proxy service, but not open source
- MyCAT: similar in function, but Abase configuration is simple and better for deployment 
- ProxySQL: better in performance, but does not support automatic scaling
- Atlas: MongoDB's middleware, different Database field
- MaxScale: rich in functions, but complex, not open source

Generally speaking, as a MySQL middleware, Abase has the advantages of performance and ease of use. It is suitable for scenarios where MySQL expansion and high availability are easy to achieve.

Guess you like

Origin blog.csdn.net/diannao720/article/details/132515382