随着政府职能的转型,XX行业职能主管部门(国家相关部委,各省、市的相关厅、局、委等)机构日趋精简,但随着国家现代化的发展,业务量反而越来越大。为保证本行业管理工作的质量和效率,提高对宏观经济管理与决策的支持能力、对社会公众的公共服务能力,该行业主管部门委托MBI软件开发公司开发一个XX行业宏观经济数据库管理系统。通过统计业务系统和相关部委自身的行业系统的信息化建设,提高各自核心业务的应用能力和管理水平,特别是数据中心的建设,对基础业务信息实施有效管理和有效利用;通过宏观经济数据库应用系统的建设,建立起包括宏观经济管理决策支持和宏观经济基础信息的发布查询等在内的支撑子系统;通过存储备份系统(现场级)的建设,为本行业宏观经济基础信息资源实施安全、可靠的技术管理。
该行业主管部门对待建的数据库应用系统提出了明确的审计要求,要求保留5年左右的审计跟踪信息。MBI公司的架构师老张建议,直接在待建的数据库中插入审计跟踪信息以满足这一应用需求,架构师老郭则建议采用按月分区(Partitioning)和段空间压缩技术来满足这一应用需求。请用400字以内的文字简要说明这两种数据库审计方案的基本原理。
参考答案:老张的方案:在数据库中只是插入审计跟踪信息,审计跟踪数据在正常操作期间从不获取,主要作为一种事后证据存放在磁盘上,通常占据很大的磁盘空间,且必须间隔一段时间(每个月或每年)对其净化(或归档)。
老郭的方案:在第一个业务月中,只是向分区表中插入审计信息,该月结束后向表中增加一个新的分区,以容纳下个月的审计信息,并将上一个月的分区从可读写表空间移动到一个只读的表空间中。段压缩技术主要是对当年历史审计信息表空间和历年审计信息表空间中的数据进行压缩,以减少占用的存储空间。
解析:对于架构师老张的建议,一般在数据库中只是插入审计跟踪信息。审计跟踪数据在正常操作期间(不管是OLTP还是数据仓库)从不获取,主要作为一种事后证据存放在磁盘上,占据一定甚至很大的磁盘空间,而且必须每个月或每年(或者间隔固定的一段时间)对其净化或归档。
对于架构师老郭的建议,分区(Partitioning)是将一个表或索引物理地分解为多个更小、更可管理的部分。就访问数据库的应用而言,逻辑上只有一个表或一个索引,但在物理上这个表或索引可能由数十个物理分区组成。每个分区都是一个独立的对象,可以独自处理,也可以作为一个更大对象的一部分进行处理。例如,按月对审计跟踪信息分区的方法是:在第一个业务月中,只是向分区表中插入审计信息,这个月结束后,向表中增加一个新的分区,以容纳下个月的审计信息并将上一个月的分区从可读写表空间移动到一个只读的表空间中。采用这种方式,就可以一个月备份一次该只读表空间。
由于该项目要求保留5年左右的审计跟踪信息,因此表空间的创建内容包括当月审计信息表空间、当年历史审计信息表空间和历年审计信息表空间。其中,历年审计信息表空间为一年一个表空间。各个表空间的作用如下。
(1)当月审计信息表空间:一个当前在线的读写表空间,像系统中每一个正常表空间一样得到备份。审计跟踪信息不会被压缩,只是向其中插入当前月份的审计跟踪数据。
(2)当年历史审计信息表空间:一个只读表空间,其中包含“当前一年”的审计跟踪信息分区,在此采用一种压缩格式。在每个月的月初,置该表空间为可读写,向这个表空间中移入上个月的审计信息并进行压缩,再使之成为只读表空间,并完成备份。
(3)历年审计信息表空间:用于去年和前年等的一系列表空间。这些都是只读表空间,甚至可以放在很慢的廉价存储介质上。如果出现介质故障,只需进行备份恢复即可。
段空间压缩技术主要用于当年历史审计信息表空间和历年审计信息表空间中,对数据进行压缩,以减少磁盘占用的空间,从而减少备份的工作量。
利用分区和段空间压缩技术,数据库审计不仅是可以忍受的,而且很容易管理,并且将占用更少的存储空间。在许多系统中,单个最大的数据集就是审计跟踪数据。如果可以从每天的备份中去掉某些或全部审计跟踪信息,可能会带来显著的差别。