CreditEaseDBA-Themis

数据库质量审核平台
授权协议 Apache
开发语言 JavaScript HTML/CSS
所属分类 数据库相关、 数据库管理工具
软件类型 开源软件
地区 国产
投 递 者 锺高翰
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Themis是宜信公司DBA团队开发的一款数据库审核产品,可帮助DBA、开发人员快速发现数据库质量问题,提升工作效率。其名称源自希腊神话中的正义与法律女神。项目取此名称,寓意此平台对数据库质量公平判断,明察秋毫。

此平台可实现对Oracle、MySQL数据库进行多维度(对象结构、SQL文本、执行计划及执行特征)的审核,用以评估对象结构设计质量及SQL运行效率。可帮助DBA及开发人员,快速发现定位问题;并提供部分辅助诊断能力,提升优化工作效率。全部操作均可通过WEB界面进行,简单便捷。此外,为了更好满足个性化需求,平台还提供了扩展能力,用户可根据需要自行扩展。

Themis(泰美斯),是希腊正义与法律女神,以头脑清晰见称。项目采用此名称,寓意着平台可对数据库质量公平判断,明察秋毫之意。

功能概述

  1. 事后审核,自主优化部分放在二期实现。亦可在项目设计阶段引入,起到一部分事前审核的作用。
  2. 通过WEB界面完成全部工作,主要使用者是DBA和有一定数据库基础的研发人员。
  3. 可针对某个用户审核,可审核包括数据结构、SQL文本、SQL执行特征、SQL执行计划等多个维度。
  4. 审核结果通过WEB页面或导出文件的形式提供。
  5. 平台支持主流的Oracle、MySQL数据库,其他数据库放在二期实现。
  6. 尽量提供灵活定制的能力,便于日后扩展功能。

支持的数据库

  • MySQL(5.6及以上)

  • Oracle(10g及以上)

审核维度

  • 数据库结果(对象)=》指数据库对象,常见的表、分区、索引、视图、触发器等。

  • SQL文本(语句)=》指SQL语句文本本身。

  • SQL执行计划=》指数据库中SQL的执行计划。

  • SQL执行特征=》指语句在数据库上的真实执行情况。

实现原理

整个平台的基本实现原理很简单,就是将我们的审核对象(目前支持四种),通过规则集进行筛选。符合规则的审核对象,都是疑似有问题的。平台会将这些问题及关联信息提供出来,供人工甄别使用。由此可见,平台的功能强大与否,主要取决于规则集的丰富程度。平台也提供了部分扩展能力,方便扩展规则集。

平台架构

图中的方框部分,为平台的主要模块。底色不同的模块,表示当前的进度状态不同。虚线代表数据流,实线代表控制流。其核心为这几个模块:

  1. 数据采集模块。它是负责从数据源抓取审核需要的基础数据。目前支持从Oracle、MySQL抓取。
  2. OBJ/SQL存储库。这是系统的共同存储部分,采集的数据和处理过程中的中间数据、结果数据都保存在这里。其核心数据分为对象类和SQL类。物理是采用的MongoDB。
  3. 核心管理模块。图中右侧虚线部分包含的两个模块:SQL管理和OBJ管理就是这部分。它主要是完成对象的全生命周期管理。目前只做了简单的对象过滤功能,因此还是白色底色,核心的功能尚未完成。
  4. 审核规则和审核引擎模块。这部分是平台一期的核心组件。审核规则模块是完成规则的定义、配置工作。审核引擎模块是完成具体规则的审核执行部分。
  5. 优化规则和优化引擎模块。这部分是平台二期的核心组件。目前尚未开发,因此为白色底色。
  6. 系统管理模块。这部分是完成平台基础功能,例如任务调度、空间管理、审核报告生成、导出等功能。

操作流程

 相关资料
  • 我目前正在从事一个利用Spring数据Neo4j的项目。每当创建节点时,我都希望创建一个包含创建日期和用户的引用审核节点。 我提出的一个解决方案是编写一个AOP方面,它与我的服务层的create方法挂钩。这对于没有级联的实体很好,但是级联的实体呢?它们没有在我的服务层中显式传递,因此我的AOP类不会拦截它们。JPA中是否有类似实体侦听器的概念,或者如何连接到该机制中?

  • 接口说明 审核用户的注册申请 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /api/user/1.0.0/check 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 guid string form 是 用户ID status int form 是 用户状态[0:未审核;1:已审核] 响应字段说明 无 响应

  • 小程序审核规范 为保护用户权益及京东小程序平台安全,并方便小程序开发者对平台审核规则进行了解,京东制订京东小程序审核规范(以下简称“本规范”)。除本规范外,服务商还应遵守《京东小程序平台服务条款》(以下简称“平台服务条款”)、小程序运营规范及京东修订或公布的相关协议、规则与规范。 一、小程序基本信息审核 1.京东小程序的基本信息,其中包括小程序名称、介绍、图标等均不可: (1) 侵犯他人的著作权、

  • 审核发布流程 第一步:上传代码包 开发完成后,开发者在开发管理中通过手动点击“上传代码包”的方式提交开发版本。京东小程序允许多次上传代码包,重新上传后将覆盖之前的版本。 在提交审核之前可以将您的京东小程序设置为体验版本,让部分用户先体验小程序。 第二步:提交审核 代码包上传成功后,并且小程序功能研发和测试完毕,通过点击“提交审核”,将当前的开发版本提交审核。可以在审核版本中看到,当状态为“审核中”