第6章 数据库技术 顾浩 胡乃静 董建寅等编著
本章学习要求: 了解:数据仓库与数据挖掘技术。 掌握:数据库技术。 掌握:数据存储技术。 掌握:数据备份技术。 掌握:数据安全技术。 了解:数据大集中技术。
6.1 数据库技术 6.1.1 数据库基本概念 数据库( DataBase, DB):可认为数据是被长期存放在计算机内、有组织的、可以表现为多种形式的可共享的数据集合 。 二层意思 :一是数据库是一个实体 ; 二是数据库是数据管理的新方法和技术。 数据库技术:是管理数据的技术和手段, 即使数据能按一定格式组织、描述和存储, 且具有较小的冗余度、较高的数据独立性和易扩展性,并可为多个用户所共享。 数据库系统: 通常是指带有数据库的计算机应用系统,因此,数据库系统不仅包括数据库本身,即实际存储在计算机中的数据,还包括相应的硬件、软件和各类人员。
数据库系统组成 硬件 :大内存(存放软件)和大外存(数据备份)和高的数据传输率。 软件 :包括DBMS 、操作系统、数据库应用软件(MIS、DSS、OA) 等。 数据 :是数据库的基本组成内容和操作对象。 人员 :包括DBA、系统分析员 、应用程序员 、用户 。
数据库特点 速度快: 与手工操作相比,其查询迅速,准确,而且可以省去大量的纸面文件 数据结构化且统一管理: 把文件系统中简单的记录结构变成记录与记录间的联系所构成的结构化数据。 数据冗余度小:使用逻辑文件。 具有较高的数据独立性:应用程序与数据无信赖性。 数据的共享性好 数据控制功能: –数据安全性保护 –数据完整性 –并发控制 –数据库恢复 程序A 逻辑 文件A DB DBMS 程序B 逻辑 文件B 程序C 逻辑 文件C
6.1.2 数据库技术的发展—分布式数据库 分布式数据库是一组结构化的数据集合,它们在逻辑上属于同一系统而在物理上分布在计算机网络的不同结点(site)上 。 分布式数据库中就有全局数据库和局部数据库这样两个概念 : 全局数据库就是从系统的角度出发,指逻辑上一组结构化的数据集合或逻辑项集 局部数据库是从各个场地的角度出发,指物理结点上各个数据库,即子集或物理项集
分布式数据库应用案例 银行中的很多业务,并非只限于某一支行的数据库。如银行中的通兑业务,即场地1存款的用户可能到场地2或场地3去取款;银行中的转帐业务,要求从一个支行的帐户中转出若干金额到另一个支行的帐户中去。这些应用要求就要同时更新两个支行(场地)上的数据库。我们把这些应用称为全局应用(或分布应用)。
分布式数据库应用案例图 图6.1 分布式数据库系统的例子 场地1 场地2 场地3 场地1 T1 T2 T3 DB1 计算机1 场地2 DB2 场地1 T1 T2 T3 DB1 计算机1 场地2 DB2 计算机2 场地3 DB3 计算机3 网络 图6.1 分布式数据库系统的例子 场地1 场地2 场地3
其他数据库 主动数据库 :主动数据库是相对传统数据库的被动性而言的 ,所谓主动数据库就是除了完成一切传统数据库的服务外,还具有各种主动服务功能的数据库系统,即DB+AI。 多媒体数据库:多媒体数据库是指能够存储查询和管理相互关联的多媒体数据的集合 ,它必须支持大对象的存储。 模糊数据库系统:用于存储、操作和管理模糊数据。 并行数据库系统:是在并行机上运行的具有并行处理能力的数据系统。 知识库:DB+AI. 空间数据库(Spatial Database System, SDBS):例GIS系统. 数据仓库(Data Warehouse, DW):面向主题、集成、相对稳定、反映历史变化、数据随时间变化。 协同数据库等。
6.1.3 常见数据库产品 DB2 :IBM公司的产品, 采用多进程多线索体系结构,可以运行于多种操作系统之上 。具有多种特色。是目前具有最好性能和最佳性价比的关系型数据库。 Oracle :是常用大型数据库之一,可在不同的OS上运行,在Oracle上开发的应用可移植到任何OS。自5版本开始具有分布式数据库处理功能。8i支持超大型数据库,支持面向对象,具有因特网上的数据库访问功能,9i具有坚不可摧的安全性。 Oracle比SQL Server 的性能更好,可很好地适应数据仓库应用。 Informix:大型数据库,1983年首推在Unix上运行的关系型数据库,其Unix平台占据全球主要市场。并已发展成为基于intenet的数据库管理厂商。
6.1.3 常见数据库产品 Sybase :是数据库产品的后起之秀, 它把C/S数据库体系结构作为开发产品的重点目标, 其高版本支持企业内部各种数据库应用需求,如数据仓库、联机事务处理OLTP、决策支持系统DDS等。 SQL( Structured Query Language )Server: 是基于C/S模型的RDBMS,易学、易用。是使用广泛的大众化数据库产品,用户可自行安装和使用。它也是全球第一个支持Web应用的数据库。 Ingres
6.1.4 银行数据库特点 具有很高的稳定性、可靠性和可伸缩性 基于开放式的体系结构 统一的、易操作的数据库管理平台 具有可靠的数据库安全性控制机制 数据库应支持超大数据量的存储与管理 支持分布式数据库处理能力 具有决策支持能力,支持多维分析、即席查询(ad-hoc query)和强大的报表功能 能够同时支持Internet和Intranet访问功能
6.2 数据仓库与数据挖掘 6.2.1 数据仓库的概念和特点 数据仓库(data warehouse) 概念始于本世纪80年代中期。随着人们对大型数据系统研究、管理、维护等方面的深刻识认和不断完善,在总结、丰富、集中多项企业信息的经验之后,为数据仓库给出了更为精确的定义,即“数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合”。 数据仓库无严格的数学理论基础,也无成熟的基本模式,但具有很强的工程性。
数据仓库的三个基本方面 数据的抽取: 是数据进入仓库的入口,它将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入到数据仓库 。 存储和管理: 是数据仓库的真正关键。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式 。 数据的表现: 数理统计的算法和功能已经普遍集成到联机分析产品之中,同时又与Internet/Web技术紧密结合。
数据库与数据仓库的关系 数据仓库对关系数据库的联机分析能力提出了更高的要求,数据仓库实际上是一个“以大型数据管理信息系统为基础的、附加在这个数据库系统之上的、存储了从企业所有业务数据库中获取的综合数据的、并能利用这些综合数据为用户提供经过处理后的有用信息的应用系统”。 传统数据库系统是单一的数据库资源,适合操作型事务处理,分析处理能力弱。重点与要求是快速、准确、安全、可靠地将数据存进数据库中. 数据仓库以统计分析技术为手段,重点与要求是能准确、安全、可靠地从数据库中取出数据,经过加工转换成有规律信息之后,再供管理人员进行分析使用。
数据仓库的三个工具层 联机分析处理(OLAP):能提供数据的多维概念视图,使最终用户能多角度、多侧面、多层次地考察数据库中的数据,并以多维形式展示给用户。 决策支持系统(DSS):涵盖了联机分析处理和数据挖掘两个领域,能够为分析决策提供服务。 数据挖掘(data mining):数据挖掘技术是数据仓库应用中比较重要也是相对独立的部分。目前,数据挖掘技术正处在发展当中。数据挖掘涉及到数理统计、模糊理论、神经网络和人工智能等多种技术,技术含量比较高,实现难度较大。
6.2 .2数据挖掘 1.数据挖掘的概念 数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。数据挖掘是一种从大型数据库或数据仓库中提取隐藏的预测性信息的新技术。它能开采出潜在的模式,找出最有价值的信息,指导商业行为或辅助科学研究。 即从”数据矿山”中找到蕴藏的”知识金块”.帮助企业减少不必要的投资的同时能提高资金回报.
数据仓库和数据挖掘的关系 数据仓库为数据挖掘所做的,应该从数据整合和清洗的角度来理解。即,数据仓库将不同操作源的数据存放到一个集中的环境中,并且进行适当的清洗和转换。数据挖掘所需要的数据,能够直接从数据仓库获得,但是获得后还是需要进行转换,若没有数据仓库,就要直接从操作型数据源中获取,且要进行ECTL(抽取、清洗、转换、装载)的操作。 数据仓库不仅是集成数据的一种方式,它的OLAP功能也为数据挖掘提供极佳的操作平台。 在数据挖掘过程中,若能将数据挖掘与数据仓库有效的联结,将增加数据挖掘的联机挖掘功能。
数据挖掘的主要方法 决策树(Decision Tree):也叫分类树,是建立在信息论基础之上,对数据进行分类的一种方法。决策树方法精确度较高,结果易理解,效率较高,较常用。 神经网络(Neural Network) :它模拟人脑的功能.神经网络建立在自学习的数学模型基础之上。它可对大量复杂的数据进行分析,并可完成对人脑或其他计算机来说极为复杂的模式抽取及趋势分析。 相关规则 :相关规则是一种简单却很实用的关联分析规则,它描述了一个事物中某些属性同时出现的规律和模式。 K-nearest邻居:邻居就是彼此距离很近的数据。 遗传算法 :遗传算法是一种基于生物进化论和分子遗传学的搜索优化算法。
关于决策树 决策树对比神经元网络的优点在于可以生成一些规则。 当我们进行一些决策,同时需要相应的理由的时候,使用神经元网络就不行了。 决策树一般都是自上而下的生成的。 从根到叶子节点都有一条路径,这条路径就是一条“规则”。 决策树可以是二叉的,也可以是多叉的。
数据挖掘的主要步骤 数据取样:从企业大量数据中取出一个与要搜索的问题相关的样板数据子集。 数据探索:是通常所进行的对数据深入调查的过程.。 数据整理:在前二步的基础上,对数据进一步量化 .。 数据挖掘 :建立模型,用各种数据挖掘方法对数据进行分析。此步是数据挖掘的核心环节,运用神经网络、决策树、数理统计、时间序列分析等方法来建立模型。 评估 :方法1—是直接使用原先建立模型样本和样本数据来进行检验。 方法2—是另找一批数据并对其进行检验,已知这些数据能反映客观实践的规律性。 方法3—在实际运行的环境中取出新鲜数据进行检验。
数据挖掘的主要步骤 建模1 抽样 大的数据 集合 最优输出 建模2 评价 建模3
银行建立数据仓库的必要性 中国银行业的电子化和信息化不是终极目的。信息化本质是保证银行具备核心竞争力的一系列重要工具,而在信息化工具组合中,更为锐利、高效和复杂的数据挖掘工具,还没有被中国银行业所广泛掌握。导致“数据爆炸但知识贫乏”。 银行产品具有相当的同质性,银行之间的差别,往往在于谁掌握了客户关系,以及海量的业务和客户信息背后的独特业务规律,谁就可以科学地制定决策。现在银行实施的大多数系统所基于的数据库只能实现数据的录入、查询、统计等较低层次的功能,但却无法发现数据中存在的关联关系和业务规律,更难以根据现有的数据预测未来业务的发展趋势。 目前看来,在银行管理客户生命周期的各个阶段都会用到数据挖掘技术。
数据挖掘技术在银行应用中的案例 美国Firstar银行使用Marksman数据挖掘工具,根据客户的消费模式预测何时为客户提供何种产品。Firstar银行市场调查和数据库营销部经理发现:公共数据库中存储着关于每位消费者的大量信息,关键是要透彻分析消费者投入到新产品中的原因,在数据库中找到一种模式,从而能够为每种新产品找到最合适的消费者。 Mellon银行使用Intelligent Agent数据挖掘软件提高销售和定价金融产品的精确度,如家庭普通贷款。
6.3 银行数据存储技术 6.3.1硬件冗余技术 磁盘冗余实际上就是指RAID(磁盘陈列)技术。 6.3 银行数据存储技术 6.3.1硬件冗余技术 磁盘冗余实际上就是指RAID(磁盘陈列)技术。 RAID是在CPU性能逐年增强,而输入输出设备速度受限,存储容量又与日俱增的背景下产生的。RAID是由美国加州大学伯克利分校的D.A.Patterson教授在1988年提出的。RAID(Redundant Array Inexpensive Disks,RAID)可直译为“廉价冗余磁盘阵列”,简称为“磁盘阵列”。后来,工业界人士把RAID中的Inexpensive改成Independent,RAID就成了“独立冗余磁盘阵列”,但只是名称上的变化,实质性内容并没改变。 RAID技术经过不断的发展,现在已拥有了从 RAID 0 到 6 七种基本的RAID 级别,但最常用的是RAID 0、RAID 1、RAID0+1、RAID 5等几种方式 。
RAID 0 技术 RAID 0又称为Stripe或Striping(无差错控制磁盘阵列),它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能
RAID 0 图示 右图显示的一个具有3个逻辑磁盘(Disk 0、Dsik 1、Disk 2)的数据存储的过程。 硬盘上,没有容错能力。从图中可见,因一个传输过程由多个硬盘分担,这相当 于增加了传输带宽,所以RAID0的读写速度在整个RAID中列居首位,但因任何一 个硬盘损坏都会使整个RAID系统失效,所以其安全性反而比单个硬盘低。 因此,RAID 0一般用于对数据安全性要求不高,但对速度要求很高的场合。
RAID 1 技术 RAID 1又称为Mirror或Mirroring(镜象磁盘阵列),它的宗旨是最大限度的保证用户数据的可用性和可修复性。 RAID 1的操作方式是把用户写入硬盘Disk 0的数据百分之百地自动复制到另外一个硬盘Disk 1上。
RAID 1图示 读取数据时,系统先从Disk 0的源盘读取数据,如果读取数据成功,则系统不去管备份盘Disk 1上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断,如图所示。
RAID 0+1 技术 正如其名字一样,RAID 0+1就是RAID 0和RAID 1两种方案的组合形式,也称为RAID 10.以四个磁盘组成的RAID 0+1为例,数据在存储时不仅分文件片形式顺序保存在两个RAID 0中的Disk 0与Disk 2,或Disk 1与Disk 3中,同时还会用Disk 1与Disk 3 或者Disk 0与Disk 2完全备份保存Disk 0与Disk 2或Disk 1与Disk 3中的数据 。 RAID1+0至少需要4个硬盘,其中两个作为数据盘,另两个作为数据的镜像盘。这样,RAID1+0在理论上同时保证了RAID0的性能和RAID1的安全性,为之付出的代价是比RAID0或RAID1多1倍的硬盘数量,但兼顾了高性能和安全性。
RAID 0+1图示 RAID 0+1是存储性能和数据安全兼顾的方案,它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能 。
RAID 2、 RAID 3 、 RAID 4技术 RAID 2:又称为“纠错码磁盘阵列。磁盘驱动器组中的第一个、第二个、第四个……第2n个磁盘驱动器是专门的校验盘,用于校验和纠错 ,其余的用于存放数据。 RAID 3和RAID 4:又称"奇校验或偶校验的磁盘阵列"。不论有多少数据盘,均使用一个校验盘,采用奇偶校验的方法检查错误,任何一个单独的磁盘驱动器损坏都可以恢复。
RAID4 硬盘0 硬盘1 1 4 3 6 2 5 P1 P2 硬盘4 硬盘3 P1为数据块1、2、3的奇偶值, RAID4是在RAID0的基础上,对N个存储数据的硬盘再增加一个校验磁盘。 当N+1个硬盘中任一个出故障时,可利用其余的N个硬盘计算出故障盘中 的正确的数据内容,但计算很费时。另外,此方案因受奇偶校验盘的制约, 不支持多个数据盘的并行写操作。
RAID 5图示 RAID 5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 以四个硬盘组成的RAID 5为例,它的数据存储方式如下图4所示:图中,P0为D0,D1和D2的奇偶校验信息,P1为D3、D4的奇偶校验信息,其它以此类推. RAID5的工作原理与RAID 4类似,但不设置专门的校验盘。图中, 每个盘轮流作校验盘。对RAID 的改进还表现在,在一些情况下,可对 多个磁盘执行并行写操作,因为它不再受单独一个奇偶硬盘的约束。 RAID5是目前用得最广泛的方案。RAID5E相当于在RAID5的基础上增 加了热备份盘,可允许两块硬盘损坏,数据可靠性更高。
Intel的Matrix RAID Intel公司最近提出的Matrix RAID,其实质也是一种RAID1+0方案。 n1区(白色区)组成RAID 0, 是高性能区,存放OS及应 用程序。有效空间100GB。 n2区(有圆点区)组成RAID 1 是高安全区,用于存储 重要数据。有效空间为 50GB。 RAID 0阵列,有效空间100GB RAID 1阵列,有效空间50GB 50GB n1区 n2区 镜像 Intel公司最近提出的Matrix RAID,其实质也是一种RAID1+0方案。 此方案可较好地解决性能和安全性的矛盾。 如图所示,Matrix RAID可看成是RAID 0和RAID1的结合体, 它 至少需要两块硬盘才能实现。这两块盘被划分成两个区域,如图 所示。其中,RAID0和RAID1区域大小的分隔可由用户按照需要 决定。
银行存储系统案例介绍 我国各主要商业银行大都采用IBM ES9000系统作为业务系统的中心处理机。该系统采用的冗余磁盘子系统,由磁盘控制器(3990)和采用RAID5技术的计算和控制随机存取法(RAMAC)磁盘阵列组成 。 磁盘控制器和RAMAC磁盘陈列联用,可用如下两种方式的远程拷贝。 (1)扩展远程拷贝(XRC):采用这种方式时,用数据转移处理机(Data Mover)通地光缆将两个异地的ES9000系统磁盘控制器联结起来,在系统控制下进行异步远程拷贝。在数据写入主设备时,应用系统在接收到设备结束请求时认为写操作完成,若此时应用系统发生故障,备份系统的数据会丢失。数据转移处理机可安装于生产机上,也可安装于备份机上,还可独立摆放。扩展远程拷贝可在不同的3990磁盘控制器之间实现,但需增硬件设备。
银行存储系统案例介绍 (2)点对点远程拷贝(PPRC):它通过光缆两个异地的3990-6磁盘控制器联结起来。这种拷贝方式只能在相同的两台3990-6磁盘控制器之间进行,因只有3990-6磁盘控制器具备这种功能。采用这种方式时,来自主机的数据以快写方式同步写入主/备RAMAC磁盘陈列。当应用系统接收到设备结束请求时,暂时不响应,只有等到数完全写入两个系统之后,应用系统才执行该请求,本次写操作才算完成。因此,这种拷贝方式的可靠性比扩展远程拷贝更高。
银行存储系统案例图示 图6.6所示为容错磁盘子系统应用于本地双机系统的一种方案,图6.7所示是应用于异地两个计算中心的方案。
6.4 数据备份技术 6.4.1数据备份的必要性 降低风险 最大限度地保护银行数据的实时性,完整性和一致性 能够增强数据中心的可用性和灵活性 6.4 数据备份技术 6.4.1数据备份的必要性 降低风险 最大限度地保护银行数据的实时性,完整性和一致性 能够增强数据中心的可用性和灵活性 提高银行抗变能力,增加银行客户对银行的信心
6.4.2数据备份技术 1.数据备份原则 选择先进的、符合国际标准的数据备份和数据恢复软、硬件平台 充分利用数据压缩技术,选择具有良好保密功能的数据压缩算法 在数据存储、数据传输和数据交换中,必须通过口令、加密算法、数字签名、智能卡技术、认证协议等技术手段,增强系统的信息安全性 数据备份介质应标明备份及保存要素,防止修改存储介质标签中的关键信息,并存放在一个安全环境中 备份时应保持其相对独立、完整,避免使用追加备份,并保护好至关重要的运行日志
2.备份技术选择 全备份( Full Backup):就是对整个服务器系统进行备份,包括服务器操作系统和应用程序生成的数据。 特点:备份数据最全面、最完整。但数据量大,备份时间长,成本高,适合最初2天用。 增量备份 (Incremental Backup):增量备份指每次备份的数据只是相当于上一次备份后增加的和修改过的数据。 特点:无重复的备份数据,节省空间和时间,但恢复数据较麻烦。适合后续备份。 差分备份 (Differential Backup):差分备份就是每次备份的数据是相对于上一次全备份之后新增加的和修改过的数据。 特点:无需每天做完全备份,备份时间短,省空间,恢复方便,适合进行了完全备份的后续备份。
3.备份媒体的选择 (1)根据业务性质来选择合适的存储介质。 (2)根据数据量及备份日程表选择设备容量,并根据限备份量选择驱动器。 从存储介质看,目前主要有磁介质和光介质。磁介质技术有4mmDAT(Digtal Audio Table)、8mmDAT、QIC(Quarter-Inch Cartrige)、1/2英寸及3590技术,光介质中目前最适合数据管理的有读写光盘。对于业务量较小的,可选择磁盘,对数据量较大的,则可选择磁带或光盘 。
4.备份软件的选择 在银行应用系统中,业务程序都提供数据备份功能,用户可根据系统提示进行数据备份。在很多操作系统中也提供基本的备份功能,如UNIX的Tar/Cpio、Windows NT的Windows Backup以及NetWare中的Sbackup。为了达到更好的备份效果,用户最好使用专业备份软件,常见的有Legato公司的NetWorker、Seagate公司的Badkup Exec、CA公司的ARC Serve 。
5.对备份数据的要求 数据是应用软件进行运算的对象,具有可用性、保密性、完整性、可靠性和抗抵赖性等属性,其中的任何一个因素被破坏,都有可能造成数据破坏。在银行业务中,对于实时系统,数据备份前应注意将该系统关闭,使数据处于静止状态:对于非实时系统,生产的数据应等期(如每工作日)做数据备份,备份前也应该将系统关闭,防止业务用户在数据备份时联机使用计算机。另外,在数据备份前,必须对整个网络和应用系统进行计算机病毒的清理,防止新病毒的出现和传播,否则,即使数据和系统配置没有关系,恢复后的数据也毫无价值。
6.备份方案的设计 制定总体规划 :在网络集成商的协助下,认真研究银行业务系统的数据存储环境,考虑数据备份及安全性措施。 选择合适的设备:对十分频繁的数据在容错功能强且高效的服务器上,对访问较少的文件可放置在廉价、读写过程较慢的外存上。 进行风险控制:对网络中若干重要数据存储点的安全性要进行风险评估,顺序排出各点数据风险的大小。对要害部位要加强安全防范措施,并提出切实可行的解决方案。 提出实施方案:网络系统中所有重要的存储资源能进行集中管理,当要进行数据备份归档时,要考虑何时最适合进行文件备份以及恢复备份文件的最大允许时间,并选择合适的备份设备。 严密的恢复计划:明确恢复机制的快速运转及恢复时间的长短是解决业务恢复时间长短的关键。
7.备份媒体的管理 磁盘和磁带必须按照系统管理员及制造厂商确定的操作规程安装。 传递过程中的数据磁盘、磁带应装在金属盒中。 新磁带在使用前应该在机房经过24h温度适应。 磁带、磁盘应放在距钢筋房柱或类似结构物10cm以上处,以防雷电经钢筋传播时产生的磁场损坏媒体上的信息。 存有重要信息的磁带清除时,必须进行消磁,不得只进行磁带初始化。 所有入库的盘、带目录清单必须有统一格式,如文件所有者、卷系列号、文件名及其描述、作业或项目编号、建立日期及保存期限等。 长期保存的磁带应定期转储。 重要的数据文件必须多份拷贝、异地存放。 磁带库必须有专人负责管理,对使用的某种介质要掌握其使用寿命
6.4.3灾难备份 灾难备份的含义 灾难备份就是指利用技术、管理手段以及相关资源确保既定的关键数据、关键数据处理系统和关键业务在灾难发生后可以恢复的过程。一旦灾难发生,灾难备份中心就必须要在确定的时间内接替生产中心的运营、恢复既定范围内的业务运作、保障企业业务连续 。
数据大集中需要灾难备份技术 伴随着数据大集中的实现,企业数据中心的技术风险也相对集中。一旦数据中心发生灾难,则将导致企业所有分支机构、营业网点和全部的业务处理停顿,或造成客户重要数据的丢失,其后果不堪设想。
6.5 数据库安全技术 6.5.1 数据库安全的基本概念 数据库的安全性是银行安全的基本部分。数据库的安全性主要指数据库中数据的安全性。防止非法使用数据库中的数据,包括如下两种情况: 防止非法实体进入数据库,以防止数据向未授权实体泄露,或被未授权实体所修改。 防止合法用户越权使用数据库中数据,或者说,防止合法用户在获取信息时得到权限以外的信息。
6.5.2 DBMS安全控制 DBMS要求严格的用户身份鉴别 双重保护:操作系统的用户鉴别机制+数据库系统的身份鉴别机制。 用户身份鉴别:包括系统处理和物理处理的两方面。 系统处理:分级设置安全装置。 物理处理:数据加密。
1.用户标志和鉴定 是系统提供的最外层的安全保护措施 。常用的方法有: 用一个用户名或用户标志号来标明用户身份,系统鉴别此用户是否为合法用户。若是,则可进入下一步的核实;若不是,则不能使用系统。 口令(Password)。为了进一步核实用户系统常常要求用户输入口令,为保密起见,用户在终端上输入的口令不显示在屏幕上。系统核对口令以鉴别用户身份,以上的方法简单易行,但用户名、口令容易被人窃取,因此还可以用更可靠的方法。 系统提供了一个随机数,用户根据预先约定好的某一过程或者函数进行计算,系统根据用户计算结果是否正确进一步鉴定用户身份。用户标志和鉴定可以重复多次。
存取控制 在数据库系统中,为了保证用户只能存取有权存取的数据,系统要求对每个用户定义存取权限。存取权限包括两个方面的内容:一方面是要存取的数据对象;另一方面是对此数据对象进行那些类型的操作。 授权:是对存取权限的定义。在RDBS中,系统管理员DBA可把建立和修改基本表的权限授予用户. 在SQL中有2个语句 GRANT:授权 REVOKE:撤消权限
审计 任何系统的安全性措施不可能是完美无缺的,企图盗窃、破坏数据者总是想方设法逃避控制,所以,对敏感的数据、重要的处理,可以通过审计来跟踪检查相关情况。 审计追踪使用的是一个专用文件,系统自动将用户对数据库的所有操作记录在上面,利用审计追踪的信息,就能重现导致数据库现有状况的一系列时间,以找出非法数据者。
数据加密 另一种安全性方法是使用加密。把数据用密码形式存储在磁盘上,这样企图通过不正常途径,例如不通过DBMS,而是自己编写的程序来存取数据者,就只能看到一些无法辨认的二进制数。用户要检索数据时,首先要提供密码钥匙,由系统进行译码,不少数据库产品均提供了这种数据加密的功能,系统可以根据用户的要求对数据实行加密或不加密存储 .
视图(VIEW)保护 视图的机制可以将要保密的数据对无权存取这些数据的用户隐藏起来,这样自动地提供了对数据的安全保护 。 视图 视图
6.5.3 数据库加密 原始数据以可视形式存储于数据库中,这样,高明的入侵者可以从计算机系统的内存中导出数据,从系统的后备存储中窃取数据或篡改数据。所以还必须对存储数据进行加密保护。 数据库的加密方法包括库外加密、库内加密、硬件加密3种 。
库外加密 可以利用DBMS与操作系统的的3种接口方式把数据在库外加密: ②利用系统的输入/输出模块; ③利用操作系统的存储管理模块。 采用库外加密,密钥管理比较简单,只需借用文件加密的密钥管理方法即可。
库内加密 数据库的三层结构:物理、存储和概念模式。可在存储和概念模式之间加一数据加密模式。即在使用物理存放的数据前进行加密。 数据元素加密是把每个数据元素作为一个文件来加/解密,每个被加密的元素都有一个加密密钥与之对应。此种方法机动性强,比较灵活,但效率低,密钥的管理生成都很复杂。 域加密是对数据库的列加密,记录加密则是对数据中的行加密。无论是域加密,还是记录加密,都是把行或列作为文件进行加/解密。因此每行每列都有密钥与之对应,此种加密方法开销小,但相当复杂。
硬件加密 在物理存储器与数据系统之间加装一硬件装置,对存入盘中的数据进行加/解密。当然,对进入磁盘的控制信息不加密。
数据库系统的密钥管理 在数据库中,密钥种类和数量较多,因此,在生成密钥时应当注意以下几条要求: ①产生重复密钥的概率应尽可能低,这样才能抗击密钥穷举法的搜索攻击和已知明文的攻击; ②从一个数据项的密钥推导出另一个数据项的密钥在计算上是不可行的。这样,即使破译了某些数据项的密钥也不会威胁到其他数据项的安全; ③根据一部分明文或明文值的统计分布,在计算上不可能从密文中破译。