未来线路规划

已完成

数据库

  1. MySQL
  2. Oracle
  3. SQLServer
  4. PostgreSQL

DQL

  1. JOIN
  2. BETWEEN
  3. IN
  4. ORDER BY
  5. GROUP BY
  6. COUNT, SUM, MAX, MIN, AVG
  7. LIMIT, rownum, TOP
  8. 非功能型子查询

DML

  1. INSERT INTO
  2. INSERT SET
  3. UPDATE
  4. DELETE

DDL

  1. CREATE
  2. ALTER
  3. DROP
  4. TRUNCATE

配置

  1. Java API
  2. Spring命名空间
  3. Yaml (仅读写分离未完成)

SQL解析

  1. 词法分析
  2. 语法分析

SQL改写

  1. 正确性改写
  2. 优化改写

访问路由

  1. Hint路由
  2. 简单路由
  3. 笛卡尔积路由

结果归并

  1. 流式归并
  2. 内存归并
  3. 装饰者归并

分库分表

  1. 分库
  2. 分表
  3. 动态表
  4. 默认数据源

读写分离

  1. 读写分离
  2. 同一线程且同一数据库连接内一致性保证
  3. Hint强制主库路由

分布式主键

  1. JDBC集成
  2. 分布式主键策略接口
  3. 基于snowflake的分布式主键算法实现

柔性事务

  1. 最大努力送达型

计划中

配置

  1. 读写分离独立化
  2. Binding策略提升
  3. 集中化
  4. 动态化

治理

  1. 数据源健康检测及发现
  2. 数据源动态切换
  3. 流量控制

待定

DQL

  1. DISTINCT
  2. HAVING
  3. OR
  4. UNION, UNION ALL
  5. 全子查询
  6. 计算表达式,如:SUM(pv) / COUNT(uv)
  7. 通过SQL注释指定SQL Hint

DML

  1. INSERT INTO VALUES (xxx), (xxx)
  2. 多表UPDATE
  3. 多表DELETE

DDL

  1. CREATE VIEW
  2. CREATE INDEX
  3. CREATE OR REPLACE

SQL解析提升

  1. 批量解析
  2. 冗余括号
  3. 通过SQL注释指定SQL Hint

柔性事务提升

  1. TCC

运维工具

  1. 字典表复制广播
  2. 动态扩容