背景 #
DistSQL(Distributed SQL)是 DBPlusEngine 特有的操作语言。 它与标准 SQL 的使用方式完全一致,用于提供增量功能的 SQL 级别操作能力。
挑战 #
灵活的规则配置和资源管控能力是 DBPlusEngine 的特点之一。
DistSQL 让用户可以像操作数据库一样操作 DBPlusEngine,使其从面向开发人员的框架和中间件转变为面向运维人员的数据库产品。
DistSQL 细分为 RDL、RQL,RAL 和 RUL 四种类型。
- RDL(Resource & Rule Definition Language)负责资源和规则的创建、修改和删除;
- RQL(Resource & Rule Query Language)负责资源和规则的查询和展现;
- RAL(Resource & Rule Administration Language)负责 Hint、事务类型切换、分片执行计划查询等管理功能。
- RUL (Resource Utility Language) 为 SphereEx-DBPlusEngine 的工具类语言,提供 SQL 解析、SQL 格式化、执行计划预览等功能。
目标 #
打破中间件和数据库之间的界限,让开发者像使用数据库一样使用 DBPlusEngine,是 DistSQL 的设计目标。
注意事项 #
DistSQL 只能用于 DBPlusEngine-Proxy,DBPlusEngine-Driver 暂不提供。