返回顶部
首页 > 资讯 > 数据库 >宜信开源|数据库审核软件Themis的规则解析与部署攻略
  • 887
分享到

宜信开源|数据库审核软件Themis的规则解析与部署攻略

2024-04-02 19:04:59 887人浏览 薄情痞子
摘要

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


一、介绍

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

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

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

1.1 功能概述

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

1.2 支持的数据库

  • MySQL(5.6及以上)
  • Oracle(10g及以上)

1.3 审核维度

  • 数据库结果(对象)=》指数据库对象,常见的表、分区、索引、视图、触发器等。
  • SQL文本(语句)=》指SQL语句文本本身。
  • SQL执行计划=》指数据库中SQL的执行计划。
  • SQL执行特征=》指语句在数据库上的真实执行情况。

1.4 实现原理

宜信开源|数据库审核软件Themis的规则解析与部署攻略

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

1.5 平台架构

宜信开源|数据库审核软件Themis的规则解析与部署攻略

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

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

1.6 操作流程

宜信开源|数据库审核软件Themis的规则解析与部署攻略

二、环境搭建

本项目中会使用到mysql,monGoRedispython支持2.6、2.7,暂不支持python3

mysql用来存储pt-query-digest抓取的mysql的慢查询,mongo存储我们的规则、oracle的采集结果、执行job,解析结果集等,redis作为任务调度celery的队列。

在mysql的数据采集部分我们使用的是pt-query-digest工具

2.1 依赖安装

新建用户

为了减少后面对supervisord.conf配置文件的修改,我们建议使用统一的用户进行安装


    adduser themis-test
    su - themis-test
您可能感兴趣的文档:

--结束END--

本文标题: 宜信开源|数据库审核软件Themis的规则解析与部署攻略

本文链接: https://lsjlt.com/news/49890.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 宜信开源|数据库审核软件Themis的规则解析与部署攻略
    一、介绍 Themis是宜信公司DBA团队开发的一款数据库审核产品,可帮助DBA、开发人员快速发现数据库质量问题,提升工作效率。其名称源自希腊神话中的正义与法律女神。项目取此名称,寓意此平台对数...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作