通用数据库执行器

ooowl
  • 系统设计
  • 系统设计
  • 数据执行器
About 1 min

通用数据库执行器

概述

现在项目中需要一个统一的执行器,输入对应的数据库信息和sql语句,就可以获得session并且在指定的数据库上执行。这样就可以执行非orm绑定的数据库了
首先从以下几个角度考虑

  1. 数据库支持:
    暂时只有pg用到,其他的用到了再说
  2. 连接管理:
    单例模式使用sqlalchemy的session池
  3. 安全性:
    内部使用,凭证访问
  4. 错误处理:
    暂时先不考虑
  5. 查询语法检查:
    使用sqlparse库做简单的语法格式检查
  6. 查询结果的格式化:
    查询类的可以使用pandas查询然后json格式化返回结果
    其他的返回执行后的响应就可以了
  7. 执行器接口设计:
    最主要的就是两个,凭证以及语句
  8. 监控和日志:
    使用日志模块打日志,执行状态直接通过查看指定类型的日志来确定,返回查询的结果
  9. 限流和性能:
    限制查询时超时30s,也可以自己传入

先写一个函数,然后有时间了再来构思

结构

使用

其他

Loading...