新一代的数据库SQL审计服务 - SQL洞察

简介: 背景 随着云数据库业务规模不断的扩大,用户对数据库安全,性能诊断,异常行为报警等高级功能的需求越来越迫切。从客户第一的角度,我们投入大量的资源来开发新一代的数据库审计产品,SQL洞察,期望可以提供给用户更好的体验,让用户因为我们有这样的高附加值的产品而选择阿里云的数据库服务。 RDS数据库SQL审计服务大致经过几个阶段: 做到scale out,从几千实例,到几万实例,到几十万实例;从一

背景

随着云数据库业务规模不断的扩大,用户对数据库安全,性能诊断,异常行为报警等高级功能的需求越来越迫切。
从客户第一的角度,我们投入大量的资源来开发新一代的数据库审计产品,SQL洞察,期望可以提供给用户更好的体验,让用户因为我们有这样的高附加值的产品而选择阿里云的数据库服务。

RDS数据库SQL审计服务大致经过几个阶段:

  • 做到scale out,从几千实例,到几万实例,到几十万实例;从一个区,多个区,从中心化到单元化,到全球化
  • 做到数据不丢,从采集端,到流式作业,到存储,如果保证数据的At-least Once和Exactly Once
  • 做好用户体验,用户可以用服务来满足安全审计的需求和定位性能问题

前两个阶段,我们这几年通过技术和架构的演进,已经基本解决;之前也有做过相关的分享,就不再赘述。

我们就重点谈谈我们这期SQL洞察,如何解决用户体验的问题。

 

用户痛点

当前用户对于SQL审计主要的需求主要分为以下几类:

精确追踪和定位,当出现安全事件或性能问题,用户可以精确的根据多个维度,ip,用户,会话,数据库表列等定位到想找的SQL;需要更为灵活,好用的查询页面

性能诊断,根据SQL审计的统计信息,如sql访问量,sql执行延迟等信息,来更高效的优化数据库性能;需要更为有效的性能问题定位方式

审计需求,对于金融行业,需要保留长时间的审计数据,便于监管部门审计;需要提供用户可配置的保留时间和导出,转储的功能

 

SQL洞察服务

针对用户的需求和问题,SQL洞察在这版当中提供如下的功能:

SQL搜索功能

当前版本中,我们提供更为灵活强大的搜索功能,包括提供根据执行状态,耗时,操作类型等来精确的检索sql,

同时在SQL明细列表中提供按列排序的能力,

 

性能诊断

在SQL洞察中,我们加入更方便的性能诊断工具

首先我们可以看出该实例的访问趋势,包含各种操作类型的比例,这样就比较容易看出,安全和性能风险
比如突然有大量的删除操作,可能就是高危的;扫描行大幅增加,可能带来性能问题

再者,我们提供模板的视图,我们要找出root cause,到底是哪种sql导致了这个性能问题

这里从两个维度来看SQL模板扫描行数和平均耗时,理论上两者应该成线性的关系,这样就比较容易找出异常的SQL模板

这里还能看出不同的SQL操作的分布,非常直观

在上图中框选就可以看到相应的SQL模板的列表,这个可以根据各个字段排序,从而找到性能问题的root cause

这里我们列出占比,包括执行次数占比,耗时占比等,可以更好的定位SQL模板对这个实例性能的真实影响程度

 

审计需求

首先我们可以提供实例级别配置不同的保留时间,这个对后端存储有比较高的要求

再者,这里提供更快捷和方便的导出和转储的功能,

导出可以重用搜索的查询条件,并且可以灵活选择需要导出的列,大大提升了用户体验

 

总结

相较于旧版本的SQL审计服务,SQL洞察当前版本侧重解决用户最为care一些问题和需求。

该产品当前在快速迭代中,后续我们的重点会放在提供更方便和更强大的性能诊断,以及提供更完善的安全审计功能。

欢迎大家试用,提供宝贵意见。

 

 

 

 

 

 

 

 

 

目录
相关文章
|
3天前
|
SQL Oracle 关系型数据库
sql语句创建数据库
在创建数据库之前,请确保你有足够的权限,并且已经考虑了数据库的安全性和性能需求。此外,不同的DBMS可能有特定的最佳实践和配置要求,因此建议查阅相关DBMS的官方文档以获取更详细和准确的信息。
|
14天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
52 10
|
1月前
|
SQL 存储 BI
【软件设计师备考 专题 】数据库语言(SQL)
【软件设计师备考 专题 】数据库语言(SQL)
90 0
|
1月前
|
SQL 安全 数据库
SQL-Server 数据库部署
SQL-Server 数据库部署
63 0
|
1月前
|
SQL 数据库
sql server中创建数据库和表的语法
sql server中创建数据库和表的语法
18 1
|
14天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
82 6
|
1天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
3天前
|
SQL 缓存 数据库
sql 数据库优化
SQL数据库优化是一个复杂且关键的过程,涉及多个层面的技术和策略。以下是一些主要的优化建议: 查询语句优化: 避免全表扫描:在查询时,尽量使用索引来减少全表扫描,提高查询速度。 使用合适的子查询方式:子查询可能降低查询效率,但可以通过优化子查询的结构或使用连接(JOIN)替代子查询来提高性能。 简化查询语句:避免不必要的复杂查询,尽量使SQL语句简单明了。 使用EXISTS替代IN:在查询数据是否存在时,使用EXISTS通常比IN更快。 索引优化: 建立合适的索引:对于经常查询的列,如主键和外键,应创建相应的索引。同时,考虑使用覆盖索引来进一步提高性能。 避免过多的索引:虽然索引可以提高查询
|
3天前
|
SQL XML 数据库
sql导入数据库命令
在SQL Server中,数据库导入可通过多种方式实现:1) 使用SSMS的“导入数据”向导从各种源(如Excel、CSV)导入;2) BULK INSERT语句适用于导入文本文件;3) bcp命令行工具进行批量数据交换;4) OPENROWSET函数直接从外部数据源(如Excel)插入数据。在操作前,请记得备份数据库,并可能需对数据进行预处理以符合SQL Server要求。注意不同方法可能依版本和配置而异。
|
10天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)