GBase新闻

专注于数据库软件产品和服务,致力于成为用户最信赖的数据库产品供应商

用户之声:基于GBase 8a数据库审计日志的数据存储管理应用分享

发布时间:2023-09-18

GBase 8a数据库是面向大数据分析应用的一款高性能国产数据库产品,在数据仓库等领域有着广泛的应用。对于此类GBase 8a集群,通常会面临因数据库存储使用量快速增长而引发的数据迁移和集群扩容等运维问题。为了提高GBase 8a数据库存储资源利用率,节省服务器资源,本文结合实践经验提出了基于GBase 8a审计日志的数据存储管理方案。

GBase 8a数据库审计日志记录了数据库执行的SQL语句,包括提交任务用户、任务所属数据库名、开始时间、SQL语句、执行状态等信息。利用审计日志可以获取集群各逻辑库中SQL的执行情况,方便进行分析和管理。

方案

本方案主要是通过解析审计日志中SQL语句涉及的表以及Where条件中日期字段的时点值来构建各表中各时点数据的访问情况,然后根据系统业务特点动态进行数据迁移,实现数据库中各表进行时点级的精细化管理。具体方法如下:

1、开启GBase 8a的审计日志和转储功能,定时访问audit_log_express表,获取SQL执行记录。
(1)从audit_log_express表获取满足以下条件的记录:sql命令类型为insert、update、delete、create table,执行状态为success;
(2)获取每条记录中的开始时间、SQL语句等内容。

2、根据上一步获取的SQL语句,对其进行语法分析,获取涉及的表和筛选条件。
(1)对SQL语句进行语法分析;
(2)提取SQL语句中From和Join涉及的表名,以及Where条件涉及的日期字段、日期操作符(如:=、in、between and等)、取值。

3、将上两步获取的结果存储到访问历史表中。
(1)预先创建访问历史表,包括以下字段:表名、日期字段名、日期操作符、日期时点值、上次访问日期;
(2)如果步骤2中获取的记录不存访问历史表中,则存储到访问历史表;如果存在则更新对应记录的上次访问日期。

4、根据应用业务特点制定相应的存储策略,基于访问历史表识别冷热数据,进行时点级的数据管理。根据具体冷热分层方案,将长期无使用记录的时点数据迁移到归档存储,例如对象存储中。

效果

采用本方案可以识别表中时点数据的冷热情况,对各表的时点数据进行动态迁移流转,可以实现对数据进行时点级的精细管理。不但可以提高数据库存储利用率,节省高配物理机资源;而且进行数据迁移后还以有效提高库内SQL的执行效率,减轻运维工作压力。

建议

据悉GBase做了血缘分析、表访问频次等特性;后续可以做更多更精细化的数据管理;建议GBase增加对数据迁移到对象存储的支持,通过配置化实现自动将数据归档到对象存储以及从对象存储恢复数据,更进一步方便用户的使用与操作。