Oracle分布式数据库及其应用研究
2015-04-20温伟强
温伟强
摘 要 Oracle分布式数据库是一个C/S体系结构的系统。在客户眼中所面对的只是一台计算机,但是却是分布在整个网络上的服务器为其提供服务。因此了解Oracle分布式数据库和对其应用进行研究具有非常广阔的前景。
【关键词】Oracle 分布式数据库 应用研究
1 Oracle分布式数据库的现状
Oracle分布式数据库是目前最主流的C/S或B/S体系结构的数据库,同时也是世界上使用最多、范围最广的数据库之一。
Oracle分布式数据库是由若干个服务器组成,其中每个服务器间都拥有自己的数据库及其数据库管理系统,它们通过网络连接到一起,从物理结构上看是分布式的,但从逻辑结构上看是属于同一系统的,而客户的实际体验也和同一个系统无异。
(1)访问完全透明。因为分布式数据库是属于同一系统的,所以用户访问数据库时,不需关心、也不用去关心具体的数据库所在的位置,只需关心能够像访问本地计算机一样去访问就可以了。只要所使用的计算机联网,知道如何去搜索数据,那么数据就和在眼前没有任何分别,整个的访问过程也是透明的。
(2)分布式处理事务与管理控制。远程访问数据时,要经过多个服务器处理,才能将数据返回到本地计算机中。而多个站点相互协作处理提交的作业,可以充分利用多台主机的处理能力,合理分配网络上的计算机资源,达到性能优化的目的。允许分布在不同区域的人员对其自身的数据库进行控制。
(3)均衡网络负载和响应时间加快。分布式数据库中,能够保存远程数据的备份,这样下次进行访问时就不需再次连接到远程服务器上,而是在本地备份上就能够直接访问资源,减少了网络流量,均衡了网络负载。当读取的数据在本地计算机中时,就可以由用户所使用的计算机执行,响应时间更快。读取数据时,客户端可以从多个服务器中读取,优先选择响应最快的服务器,从而提高了数据访问速度。
(4)高可靠性,可用性好。分布式数据库由于由若干个站点构成,因此出现故障时也只会在局部几个站点出现故障,而不会影响到所有站点。从这点上能够看出,分布式数据库比传统数据库的可靠性更高。从原有数据库的基础上进行扩展就可以形成一个分布式数据库,这比重建一个新的数据库系统要简单、容易很多。这样不仅节约了投资成本,也提高了对原有数据库的利用率,降低了因为新建数据库造成的数据丢失、损坏等现象发生的可能性。
2 Oracle分布式数据库存在的问题
(1)安全性和保密性。由于本地计算机用户知道远程数据库用户的口令,且本地用户通过访问远程表,就可以赋予和远程表拥有者相同的权限,可以对数据进行随意的修改、破坏。分布式数据库的数据是存放在不同地区的不同计算机上,通过网络来实现控制,人为攻击数据库,如黑客入侵等引起的安全问题,数据共享过程中存在的安全隐患以及网络本身就存在安全性和保密性较低的特点,因此存放的数据安全性得不到保障。
(2)故障率高。因为数据几乎全部都分布在远程网络上,想要进行读取时也必须通过远程网络来完成,而当遇到网络传输速率(即网速)不快的情况时,系统进行响应的时间会变慢。当遇到故障发生后,系统想要进行恢复因其自身系统的复杂性也存在一定的困难,因此可靠性有待进一步提高。因此i数据存放时要将数据和事务日志这两者进行分开存储,如若存放在一起,当计算机因故障无法运行时,那么相应的数据也就无法通过事务日志进行恢复了,可以大大提高数据的可用性。
(3)数据的存取复杂。目前来说,在分布式数据库进行存取数据操作相对于集中式数据库而言,更复杂,系统开销更大,因为它需要将所查询到的数据通过多个服务器返回到本地计算机中去。而原来在集中式系统中存取数据的技术又不适用于现有的分布式数据库系统中。原本在一个服务器上的数据,现在要通过网络在若干个服务器上进行存取,达到数据共享的目的,无疑对系统的性能要求更高。
3 Oracle分布式数据库系统优化的解决方案
3.1 编写具有健壮性的代码
分布式数据库中的数据时海量,而面对这些海量数据进行处理就必须使用程序来查找,如搜索引擎等。尤其是面对复杂、无序的数据进行处理时,更需要在保证所查询数据的准确性之外,还要保证数据处理效率。
3.2 建立缓存机制和使用临时表、中间表
当数据量增加时,缓存的大小制约着数据处理的成败,同时也要考虑将数据进行汇总,把大表转换成小表,切换成一个个的带索引小表,最后通过一定的规则进行合并。这样不仅可以使查询效率加快,不需要直接到每个服务器中去查找数据,只需要借助于每个表项的索引就能够查找到所需数据,也会降低可能产生的风险。
3.3 提高分布式数据库的安全性
(1)根据安全性级别设置安全机制。不同的数据库的安全级别是不同的,要根据实际数据库所需的安全性级别来设置数据库。如一般性的站点可采取对数据库访问者进行分类对待,给每一类分别以不同的操作权限。安全性较高的站点可以在数据库中使用加密机制,来保障数据库的安全。设计人员在部署数据库时,就应该先寻找数据库服务器中可能因修改而产生的漏洞和弱点,时刻注意保护数据库的安全。
(2)物理层上保护。内部安全和外部安全同等重要。保护数据不受入侵者的物理破坏,保护设备的正常运行,保护不受洪水、电力等的破坏。按照要求制定具体措施,对部门内部人员赋予安全等级。
(3)加强数据审计。可以通过对系统日志的扩充来记录用户和相关操作的信息,一般要求数据库管理系统能够将所有的操作记录下来,系统保留一个日志文件,用于事后调查和分析。
(4)数据一致性。数据的一致性也属于安全问题,在日常运行过程中会受到各种各样的人为或非人为的破坏。为了解决这一问题,DBMS一般都要提供恰当的系统控制、备份和恢复过程等。
4 结束语
Oracle分布式数据库使用起来既方便又快捷,不仅提升了使用效率,也实现了异地存储。对于Oracle分布式数据库的应用还有待于进行进一步的研究。
参考文献
[1]赵小航.分布式数据库系统安全隐患及其对策[J].科技信息,2009(12).
[2]陈永杰,郭巍,杨芳南,陈旭东.Oracle9i高级复制在综合网管中的应用研究[J].中国科技信息,2007(06).
[3]刘洪昱.ORACLE数据传输技术在保险信息系统上线过程中的应用[D].上海交通大学,2012.
作者单位
乐凯胶片股份有限公司 河北省保定市 071054