论文部分内容阅读
【摘要】数据是企业最核心的信息资产,数据的完整性、实用性和安全性对企业正常运转显得至关重要。数据库作为承载数据的核心软件,是一切应用系统的核心。本文就数据库的发展及变革进行了详细阐述,对上世纪90年代中期至2010年度企业数据库的发展历程进行梳理,就数据库开发和维护提出了建议,对未来几年数据库建设所面临的挑战进行了分析,对企业如何选择数据库提出了对策。
【关键词】企业;数据库;发展;应用
【中图分类号】G250.74 【文献标识码】A 【文章编号】1672—5158(2012)08—0101-01
数据库是按一定组织方式存储在一起的、具有一定相关性的、为用户所共同关注的全部数据的集合。企业数据库是按照数据结构来存储、组织以及管理企业数据的集合。数据库是企业核心业务开展最具有战略性的资产,通常都保存着重要的商业伙伴和客户信息。
企业数据库分为企业内部数据库和企业信息库。企业内部数据库是指某个企业存储企业内部数据,例如企业制度,企业基本信息,员工信息,薪酬以及企业生产能力和生产技术类信息的数据库。企业信息库则是指国家为了掌握宏观经济发展状况,行业宏观情况等信息由国家机关收集全国多数企业的注册信息情况,经营情况,股东变更情况是手机录入数据库,作为行业研究和普查只用。根据研究的需要,通过企业数据库信息能方便快捷的推测出行业的运行状况。数据库提供的强大查询功能让工作显得事半功倍。
一、数据库发展历程
上世纪90年代中期,计算机以单机为主,应用的主要数据库是FoxPro,这虽然也是一款支持多用户的关系型数据库产品,但主要还是限于单机使用。使用数据库的主要方式是编写和运行过程式的,包括界面和业务逻辑的prg程序访问后台的表,用到的数据库功能很有限,数据库管理也仅限于数据库表文件和程序文件的备份。
2000年,Oracle数据库等渐渐占据主流地位,在Unix服务器使用,还没有推广到一般的应用。当时主要还是双轨运行,大型数据分析处理用Oracle,编写PL/SQL程序或用Pro*C程序处理业务逻辑,小型数据采集和加工用其他小型数据库,比如MS Access、VisualFoxPro等,还有自行设计的VisualC++编写的用类数据库的文件存储和处理保表的系统。
2004年,企业开始将C/S架构引入到数据采集软件之中,软件不必和小型数据库管理系统捆绑,数据库采用My SQL4,从现在的标准去看,那是一个缺少很多基本功能的数据库,比如没有定点小数数值类型,SQL语句不支持子查询,因此给开发工作带了很多困难,基本上业务逻辑还是通过C++应用程序来实现,只不过可以通过网络并发访问数据库罢了。在数据分析阶段仍然采用Unix上的Oracle9i数据库,因为它在大数据量处理上,性能比My SQL具有很大的优势,功能也强大很多。
2007年,数据采集和分析的数据库同时支持My SQL、Oracle和MS SQL Server。2软件改为符合j2ee标准的3层C/S架构,中间层使用Tomcat,由于要兼顾不同数据的特点,应用软件专门虚拟了一层统一的数据访问层,自动根据数据库类别映射到不同的功能。在数据分析阶段采用Unix上的Oracle 10g数据库,充分利用数据库的功能,在扩展的group by、分区、数据泵导入导出等方面使得软件的性能得到很大提高。
2008年左右,企业开始采用3层B/S架构,不再支持多种數据库平台。对数据量较少的用户,用Oracle XE数据库,除了一些高级功能,如并行、分区等外,绝大多数功能都和Oracle 10个没有区别,极大地方便了将来数据量扩大时,升级到Oracle标准版或企业版。由于新开发队伍对Oracle数据库的了解不够,采用了一些不合理的表结构设计和应用程序架构,应用程序承担了大多数数据处理任务,导致不能充分发挥数据库的功能,软件性能不是很高,但仍然可以完成任务。
2010年,专家们一方面针对数据分析功能修改了算法,充分利用数据库的功能,另一方面,利用多个应用服务器合作完成较大的任务,充分利用硬件CPU和内存资源,使得产品性能有比较大的提升。同时,使用F5设备提高并发访问能力和负载均衡。
目前,为了提高可用性,数据库在企业业务中的重要性日益提高,对于数据管理和处理有其他软件不能替代的作用。现在的数据中心就是以数据库为中心的,其上层的应用软件、中间件和下层的硬件资源都是围绕数据库提供服务的。将来软件可能进一步改进和发展,但数据却是持久的。
二、数据库开发和维护上的几点认识
一是开发数据处理软件已经离不开数据库,要充分发挥数据库的功能才能开发出高效的软件。二是要选择一种功能比较完善的数据库,充分利用数据库版本的升级带来的新技术的好处。三是一个应用同时支持多种数据库是困难的,应该集中精力用好—种数据库。选择了一种数据库就不轻易改变,以节省学习成本和继承开发经验。四是数据库的表现需要各种软硬件的配合,比如主机、存储、操作系统和应用软件,开发人员了解得越多,越有利于开发高效的软件。五是数据库优化工作应在设计阶段就考虑,这时更改的成本最低,收效最大。系统运行时同时监控性能的状态,及时作出必要的调整,可以利用数据库提供的各种工具。六是随着用户业务种类和数量的增长,需要管理的数据库数量也不断增加、环境越来越复杂,管理的难度也提高了,需要数据库开发人员和数据库管理员分工合作。需要经验丰富的专业的人员和完善的数据库管理制度,并严格执行。
三、未来几年数据库建设所面临的挑战
随着数据大集中的要求进一步提高,未来几年,系统的在线用户将有较大的增长,对系统应付并发读写访问的能力是一个考验,考虑利用内存数据库等技术提高在线事务处理的能力。数据库的安全日益重要。同样不能仅依靠数据库提供的功能,比如加密、口令安全策略,而要从物理安全、访问控制、安全网络协议、数据库备份恢复等多方面予以保障,经过实践检验的制度和应急方案必不可少,同时加强开发人员和用户管理,限制应用程序的用户权限,禁止管理员用户执行非管理操作。
数据库面临安全方面挑战概括起来主要表现在以下三个层面。一是管理风险。主要表现为人员的职责、流程有待完善,内部员工的日常操作有待规范,第三方维护人员的操作监控失效等等。二是技术风险。Oracle,SQL Server是一个庞大而复杂的系统,安全漏洞如溢出,注入层出不穷,企业处于稳定性考虑,往往对补丁的跟进非常延后,更何况通过应用层的注入攻击使得数据库处于一个无辜受害的状态。三是审计层面。现有的依赖于数据库日志文件的审计方法,存在诸多的弊端。此外,对于海量数据的挖掘和迅速定位也是任何审计系统必须面对和解决的一个核心问题之一。
四、企业如何选择适合自身的数据库
数据库产品选型,一定要从企业自身的实际情况出发,适当预估可能的数据规模,结合文中介绍的原则综合考量来确定。选择一款能够满足甚至超过预定要求的技术或解决方案,一般需要考虑开发要求、性能/成本、可升级性、数据库运行和管理以及总体拥有成本这五方面因素。对每一个企业来说,没有最好的数据库,只有最合适的数据库。
参考文献
[1]Abraham Silberschatz,数据库系统概念,机械工业出版社
[2]王珊、陈红,数据库系统原理,清华大学出版社
[3]王行刚;数据库管理机体系结构[J];计算机工程与应用
[4]games B.Rothnie,金必先;分布数据库管理[J],计算机工程与应用;1980年06期
[5]陈志泊,数据库原理及应用教程,人民邮电出版社
[6]申得荣、于戈,分布式数据库系统原理与应用,机械工业出版社
【关键词】企业;数据库;发展;应用
【中图分类号】G250.74 【文献标识码】A 【文章编号】1672—5158(2012)08—0101-01
数据库是按一定组织方式存储在一起的、具有一定相关性的、为用户所共同关注的全部数据的集合。企业数据库是按照数据结构来存储、组织以及管理企业数据的集合。数据库是企业核心业务开展最具有战略性的资产,通常都保存着重要的商业伙伴和客户信息。
企业数据库分为企业内部数据库和企业信息库。企业内部数据库是指某个企业存储企业内部数据,例如企业制度,企业基本信息,员工信息,薪酬以及企业生产能力和生产技术类信息的数据库。企业信息库则是指国家为了掌握宏观经济发展状况,行业宏观情况等信息由国家机关收集全国多数企业的注册信息情况,经营情况,股东变更情况是手机录入数据库,作为行业研究和普查只用。根据研究的需要,通过企业数据库信息能方便快捷的推测出行业的运行状况。数据库提供的强大查询功能让工作显得事半功倍。
一、数据库发展历程
上世纪90年代中期,计算机以单机为主,应用的主要数据库是FoxPro,这虽然也是一款支持多用户的关系型数据库产品,但主要还是限于单机使用。使用数据库的主要方式是编写和运行过程式的,包括界面和业务逻辑的prg程序访问后台的表,用到的数据库功能很有限,数据库管理也仅限于数据库表文件和程序文件的备份。
2000年,Oracle数据库等渐渐占据主流地位,在Unix服务器使用,还没有推广到一般的应用。当时主要还是双轨运行,大型数据分析处理用Oracle,编写PL/SQL程序或用Pro*C程序处理业务逻辑,小型数据采集和加工用其他小型数据库,比如MS Access、VisualFoxPro等,还有自行设计的VisualC++编写的用类数据库的文件存储和处理保表的系统。
2004年,企业开始将C/S架构引入到数据采集软件之中,软件不必和小型数据库管理系统捆绑,数据库采用My SQL4,从现在的标准去看,那是一个缺少很多基本功能的数据库,比如没有定点小数数值类型,SQL语句不支持子查询,因此给开发工作带了很多困难,基本上业务逻辑还是通过C++应用程序来实现,只不过可以通过网络并发访问数据库罢了。在数据分析阶段仍然采用Unix上的Oracle9i数据库,因为它在大数据量处理上,性能比My SQL具有很大的优势,功能也强大很多。
2007年,数据采集和分析的数据库同时支持My SQL、Oracle和MS SQL Server。2软件改为符合j2ee标准的3层C/S架构,中间层使用Tomcat,由于要兼顾不同数据的特点,应用软件专门虚拟了一层统一的数据访问层,自动根据数据库类别映射到不同的功能。在数据分析阶段采用Unix上的Oracle 10g数据库,充分利用数据库的功能,在扩展的group by、分区、数据泵导入导出等方面使得软件的性能得到很大提高。
2008年左右,企业开始采用3层B/S架构,不再支持多种數据库平台。对数据量较少的用户,用Oracle XE数据库,除了一些高级功能,如并行、分区等外,绝大多数功能都和Oracle 10个没有区别,极大地方便了将来数据量扩大时,升级到Oracle标准版或企业版。由于新开发队伍对Oracle数据库的了解不够,采用了一些不合理的表结构设计和应用程序架构,应用程序承担了大多数数据处理任务,导致不能充分发挥数据库的功能,软件性能不是很高,但仍然可以完成任务。
2010年,专家们一方面针对数据分析功能修改了算法,充分利用数据库的功能,另一方面,利用多个应用服务器合作完成较大的任务,充分利用硬件CPU和内存资源,使得产品性能有比较大的提升。同时,使用F5设备提高并发访问能力和负载均衡。
目前,为了提高可用性,数据库在企业业务中的重要性日益提高,对于数据管理和处理有其他软件不能替代的作用。现在的数据中心就是以数据库为中心的,其上层的应用软件、中间件和下层的硬件资源都是围绕数据库提供服务的。将来软件可能进一步改进和发展,但数据却是持久的。
二、数据库开发和维护上的几点认识
一是开发数据处理软件已经离不开数据库,要充分发挥数据库的功能才能开发出高效的软件。二是要选择一种功能比较完善的数据库,充分利用数据库版本的升级带来的新技术的好处。三是一个应用同时支持多种数据库是困难的,应该集中精力用好—种数据库。选择了一种数据库就不轻易改变,以节省学习成本和继承开发经验。四是数据库的表现需要各种软硬件的配合,比如主机、存储、操作系统和应用软件,开发人员了解得越多,越有利于开发高效的软件。五是数据库优化工作应在设计阶段就考虑,这时更改的成本最低,收效最大。系统运行时同时监控性能的状态,及时作出必要的调整,可以利用数据库提供的各种工具。六是随着用户业务种类和数量的增长,需要管理的数据库数量也不断增加、环境越来越复杂,管理的难度也提高了,需要数据库开发人员和数据库管理员分工合作。需要经验丰富的专业的人员和完善的数据库管理制度,并严格执行。
三、未来几年数据库建设所面临的挑战
随着数据大集中的要求进一步提高,未来几年,系统的在线用户将有较大的增长,对系统应付并发读写访问的能力是一个考验,考虑利用内存数据库等技术提高在线事务处理的能力。数据库的安全日益重要。同样不能仅依靠数据库提供的功能,比如加密、口令安全策略,而要从物理安全、访问控制、安全网络协议、数据库备份恢复等多方面予以保障,经过实践检验的制度和应急方案必不可少,同时加强开发人员和用户管理,限制应用程序的用户权限,禁止管理员用户执行非管理操作。
数据库面临安全方面挑战概括起来主要表现在以下三个层面。一是管理风险。主要表现为人员的职责、流程有待完善,内部员工的日常操作有待规范,第三方维护人员的操作监控失效等等。二是技术风险。Oracle,SQL Server是一个庞大而复杂的系统,安全漏洞如溢出,注入层出不穷,企业处于稳定性考虑,往往对补丁的跟进非常延后,更何况通过应用层的注入攻击使得数据库处于一个无辜受害的状态。三是审计层面。现有的依赖于数据库日志文件的审计方法,存在诸多的弊端。此外,对于海量数据的挖掘和迅速定位也是任何审计系统必须面对和解决的一个核心问题之一。
四、企业如何选择适合自身的数据库
数据库产品选型,一定要从企业自身的实际情况出发,适当预估可能的数据规模,结合文中介绍的原则综合考量来确定。选择一款能够满足甚至超过预定要求的技术或解决方案,一般需要考虑开发要求、性能/成本、可升级性、数据库运行和管理以及总体拥有成本这五方面因素。对每一个企业来说,没有最好的数据库,只有最合适的数据库。
参考文献
[1]Abraham Silberschatz,数据库系统概念,机械工业出版社
[2]王珊、陈红,数据库系统原理,清华大学出版社
[3]王行刚;数据库管理机体系结构[J];计算机工程与应用
[4]games B.Rothnie,金必先;分布数据库管理[J],计算机工程与应用;1980年06期
[5]陈志泊,数据库原理及应用教程,人民邮电出版社
[6]申得荣、于戈,分布式数据库系统原理与应用,机械工业出版社