使用PHP语言,采用Yii2框架,GIT版本控制,MySQL数据库做存储数据和redis缓存技术完成该平台的开发,该平台可实现数据库服务器的统一管理、备份、监控、以及用户授权,对各人员的DQL、DML和DDL操作权限控制,快速对各项目各环境的数据库部署和数据的迁移、线上数据的自助订正和自助发布。

平台主要功能如下:

1、SQL执行:SQL执行分为通用库环境下执行和分库分表环境执行,开发人员和测试人员可在SQL窗口中执行SQL(有权限的前提下),前端已实现和数据库客户端无差异化(比如关键词、表名、字段名的提示,库表信息查看,快速建表、多条查询SQL的结果集展示等);

2、SQL审核:检测SQL语法的正确性和合法性,以及DML类型SQL的影响范围,是否符合自定义规则;

3、权限控制:控制用户对不同环境的服务器库的DQL、DML、DDL的操作权限,目前权限控制细粒度已精确到字段(如防呆限制、数据脱敏等),限制不同用户对不同环境下的库表查询条数限制,防止数据拖库等行为;

4、数据库部署:收集用户的SQL执行日志,分析、筛选之后可快速部署该项目下一个的数据库环境;

5、数据的备份和回滚:可设置备份策略,可定时或实时对数据的备份,如果数据出错,可实现数据的快速回滚;

6、操作控制:可临时授予用户在某个时间段内拥有某些库表的DQL、DML、DDL操作权限,也可临时放开用户对某些环境、表的查询限制等;

7、服务器账号权限管理:服务器账号统一管理以及账号权限统一授权;

8、自助订正和自主发布:在可控范围内允许用户对线上数据的订正(包括备份和回滚),也允许用户自己项目发布时数据库的实时更新(通过线下和线上环境的表结构对比,同步表结构,保持所有环境的表接口同步);

9、数据监控:实时统计分析用户操作、数据库服务器、数据库表等信息,用户恶意行为、库表结构变动,数据订正以及服务器异常等非正常行为都将以钉钉消息通知到DBA和对应的负责人;

10、统一认证:目前平台已接入LDAP,实现用户的统一认证和单点登录等功能;

11、其他功能:用户管理、服务器管理、项目管理、行为记录、日志分析等其他常用功能。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐