# raptor-ddal
**Repository Path**: learner-space/raptor-ddal
## Basic Information
- **Project Name**: raptor-ddal
- **Description**: 分布式数据访问中间件
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 9
- **Created**: 2022-11-22
- **Last Updated**: 2024-05-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 简介(Overview)
Raptor-DDAL是使用Java开发的分布式数据库中间件,用于屏蔽底层分库分表的细节,透明化分布式数据的访问。其简单易用的系统配置,智能高效的执行计划,在线平滑的数据伸缩以及完善的运维工具配套等特点,助力企业快速搭建分布式数据存储平台。
## 技术架构(Architecture)
## 特性与约束(Features and Constraints)
### 特性
- 实现JDBC接口,支持[应用集成](http://git.oschina.net/f150/raptor-ddal/blob/develop/doc/ddal-jdbc-document.md)的使用方式
- 实现Server版本,支持[独立代理](http://git.oschina.net/f150/raptor-ddal/blob/develop/doc/ddal-proxy-document.md)的使用方式
- 基于SQL1992标准。支持SQL:1992标准常见DML语法,详见[SQL支持列表](#summary)。
- 支持MySQL、Oracle等常用关系型数据库
- 支持多维度读写分离
- 支持SQL Hint
- 支持分组\聚合\去重语法
- 支持SUM\COUNT\MAX\MIN\AVG等常用函数
- 支持跨库分页
- 支持通过全局表[[注1]](#annotate1),实现了高效的多表join查询
- 内置多样化的全局序列
- 内置多种分片规则,支持自定义分片规则
- 支持分布式事务。事务日志记录,事务一致性校验,二阶段事务增强实现。
- 支持DDAL进程运行状态监控,包括SQL实时速率、SQL数量统计、SQL执行失败率等指标。
- 引入执行计划及解析结果缓存,提高预编译语句执行效率
- 支持动态虚拟库路由功能
- 支持非分片字段索引
- 支持select xxx.nextval语法及自增字段方式获取序列
## DDAL进程监控
目前监控支持的指标如下:
- SQL数量统计,包括已执行总数,查询数量,更新数量,成功数量和失败数量。
- 连接池状态
- SQL实时速率
- 应用主机负载
- JVM进程内存
- 网络IO
### 约束
- 不支持跨库Join
## 开发进度
点击图片查看大图
## 使用指南(Usage)
[集成模式快速使用指南](./doc/标准输出物/使用手册/快速使用手册-LATEST.md)
[Raptor-ddal SQL92标准开发参考手册](./doc/参考资料/SQL1992/SQL-STD92-DDAL-SUMMARY.pdf)
## 性能测试(Performance Testing)
[性能测试报告](http://git.oschina.net/f150/raptor-ddal/wikis/8.%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95)
##贡献者(Committers)
* 时邵猛 shishaomeng@gmail.com
* 蔡为铭 sam.iagd@hotmail.com
* 吴昌亮 charleywu@aliyun.com
* 曹海峰 caohaifeng0000@gmail.com
----
[注1]小表全分片冗余即全局表,分片表关联数据需在同一分片,通过这种方式实现了多表join。