Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

企业版支持SQL查询功能 #509

Closed
8 of 9 tasks
HuangWeiCen opened this issue May 10, 2022 · 0 comments
Closed
8 of 9 tasks

企业版支持SQL查询功能 #509

HuangWeiCen opened this issue May 10, 2022 · 0 comments
Assignees
Labels
ee the problem for Enterprise Edition feature ui this issue is is related to the FE
Milestone

Comments

@HuangWeiCen
Copy link
Contributor

HuangWeiCen commented May 10, 2022

原始需求

SQL查询是DBA日常中的一部分工作,例如:业务人员需要对数据库进行数据检索,可能是拉统计数据。通常情况下DBA要不就是给业务人员开查询权限,业务人员通过其他途径(数据库客户端工具)进行查询。此时,DBA很难对业务人员的行为进行追踪和管控,无法限制有问题的SQL在生成环境执行,业务人员的SQL可能会造成数据库性能问题甚至hang死。SQL质量管理平台提供SQL查询能力,那么就可以对业务人员的SQL进行审计。后续可以运用SQL审核能力拒绝不合规SQL运行,也可以做较为细化的权限控制和数据脱敏。

需求详情见文档(pageId=34796307)

开发方案

前端方案

后端方案

新增接口

URI 接口名 请求方式 功能简述
/v1/sql_query/{instance_name}/history 获取历史查询SQL get 获取sql查询历史记录
/v1/sql_query/{instance_name}/prepare 准备执行SQL post 对SQL进行预检查(是否可以执行), 检测通过返回每一条SQL的query_id
/v1/sql_query/{instance_name}/results/{query_id}/ 获取SQL执行结果 get 通过向此接口传入query_id, 得到对应SQL的执行结果

更新接口

URI 接口名 请求方式 更新简述
/v1/instance_tips 获取实例提示列表 get functional_module 新增一个可选项用于用户获取有执行SQL查询权限的实力列表
/v1/instances 获取实例信息列表 get 新增两个返回值用于告知用户SQL查询返回条数的限制和SQL超时限制
/v1/instances 添加实例 post 增加两个请求参数用于设置SQL查询返回条数限制和SQL超时限制
/v1/instances/{instance_name}/ 获取实例信息 get 新增两个返回值用于告知用户SQL查询返回条数的限制和SQL超时限制, 同时修改接口逻辑, 如果用户没有访问此实例的权限, 则返回实例公开信息, 而非从前的报错
/v1/instances/{instance_name}/ 更新实例 patch 增加两个请求参数用于设置SQL查询返回条数限制和SQL超时限制

功能拆分

第一批实现

  • 使用插件执行SQL的函数定义 @HuangWeiCen
  • 定义 "用户下发的SQL历史记录", "单条SQL记录" , "实例SQL查询配置" 的model @ColdWaterLW

第二批实现

拓展功能

@HuangWeiCen HuangWeiCen added ee the problem for Enterprise Edition ui this issue is is related to the FE feature labels May 10, 2022
@HuangWeiCen HuangWeiCen added this to the v1.2205.0 milestone May 10, 2022
This was referenced May 11, 2022
This was referenced May 17, 2022
@sjjian sjjian closed this as completed May 27, 2022
LordofAvernus pushed a commit that referenced this issue Nov 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ee the problem for Enterprise Edition feature ui this issue is is related to the FE
Projects
None yet
Development

No branches or pull requests

4 participants