您的当前位置:首页正文

数据库发展史的启示

2020-08-06 来源:爱go旅游网


数据库发展史的启示

摘要:数据库技术从诞生到现在,在不到半个世纪的时间里,形成了坚实的理论基础、成熟的商业产品和广泛的应用领域,吸引越来越多的研究者加入。数据库的诞生和发展给计算机信息管理带来了一场巨大的革命。三十多年来,国内外已经开发建设了成千上万个数据库,它已成为企业、部门乃至个人日常工作、生产和生活的基础设施。同时,随着应用的扩展与深入,数据库的数量和规模越来越大,数据库的研究领域也已经大大地拓广和深化了。30年间数据库领域获得了三次计算机图灵奖(C.W. Bachman,E.F.Codd, J.Gray),更加充分地说明了数据库是一个充满活力和创新精神的领域。就让我们沿着历史的轨迹,试图从数据库50 多年发展历程中寻找对大数据管理的一些启示。

关键词:数据库 发展 大数据

数据库发展简史:

1、数据独立性

20 世纪60 年代数据库领域的主要成就是IDS 系统和DBTG 报告。其中,IDS 系统是由数据库领域的第一位图灵奖获得者美国科学家Charles W. Bachman 研制的,第一次将数据独立于应用系统存在。在此基础上形成的DBTG 报告,更进一步提出了数据库系统的三级模式结构。这个三级模式结构直到今天还是数据库应用开发的基本体系框架, 它让我们深刻理解了数据独立性的价值。所谓数据独立性是指数据库应用和数据库的逻辑结构和物理结构存在一定的分离。这样当应用发生变化时,无须变更数据库,反之亦然。这样

做的好处是可以强化数据库系统的稳定性,为数据的独立存在提供了可能。数据独立性是通过支持三级模式结构来实施的,目前所有的关系数据库都支持三级模式结构。大数据从本质上讲是强调数据独立存在的。在一些应用中,大数据是伴随业务系统运行而产生的,例如电商企业的交易记录等。在其他一些场合下,甚至我们还不知道大数据有什么用,就已经开始大数据的采集和保存了。因此,是“先有数据后有应用”。这就要求我们在考虑大数据系统时,要更多地关注数据本身,深刻理解数据之间的关系,实现有效的数据存储、访问和利用。数据独立性对于大数据而言,已经不再是要不要的问题,而是必然的结果。因此,大数据时代要特别重视大数据本身,重视对数据治理的研究。数据治理是一个管理学的概念,是指要对数据的获取、处理、使用进行监管,具体包括数据质量、数据集成与清洗、数据隐私与安全等方面。

2、关系数据库

Edgar F. Codd 博士在20 世纪70 年代提供了关系数据模型及相关的论文,而且花了近10 年时间实现了System R 系统,证明了系统的性能可以通过优化技术来提升。关系数据库的优点有很多,最突出的是简单的数学模型和非过程化的SQL 语言。关系模型的好处是简洁,全部的概念就是“关系”,用户数据、系统数据都用关系表示。SQL 语言的好处包括非过程性、统一性、标准性、简单易用性等。非过程性对于数据库的推广和普及起到了很大的作用,特别是对于提高应用系统的生产效率功不可没;统一性是指SQL 包括了多种类型的数据操作,包括查询、修改、安全性控制等,方便了用户使用;标准性是指国际标准化组织的介入,使其成为业界的标准,这给数据库上的应用迁移,或者说构建跨平台的应用软件,奠定了良好的基础。历史上关系数据库受到了传统势力的巨大批判,主要是关系数据库的性能低下。但是,由于Edgar F. Codd 博士的杰出贡献,这一缺点不攻自破。

由此可见,我们需要先构建一个好的框架,然后性能问题可以通过不断的技术创新实现。基准测试20 世纪80 年代是关系数据库产品走向成熟的年代,这个时期的代表性人物是1998 年图灵奖获得者Jim Gray。他的成就包括发展了事务理论,以及关系数据库的一系列实现技术等。用基准测试来评价每一个产品的优劣,对于促进产品的技术进步意义非凡。有关的企业也都加入到定义基准测试的标准和方法中来,客观上也促进了产品功能的统一,为进一步的标准化奠定了良好的基础。在关系数据库的发展过程中,事务处理协会 (TPC) 的各种测试尤其是TPC-C 功不可没。TPC 是一个中立的评测关系数据库性能的委员会,它发布了一系列关于不同类型应用的基准性能评测标准,对于推动关系数据库技术的发展起到了不可替代的作用。大数据目前所处的阶段类似关系数据库在20 世纪80 年代的情况,是一个春秋战国时代。全世界每天都有所谓新的大数据系统出现。因此,设计合适的大数据基准测试十分必要。然而,大数据的多样性给大数据评测基准的制定也带来了很多挑战。

(1) 从数据类型来看,大数据包括结构化数据、非结构化的文本和多媒体数据、半结构化的日志数据、流数据、图数据等。不同类型数据的处理方法和所依赖的系统平台可能差别很大,一些应用还会涉及多种不同类型的数据,这为标准的制定带来了巨大挑战。

(2) 大数据系统面对的应用类型也存在很多差异,有面向数据分析的、有事务型数据管理的、有针对复杂机器学习算法的、有对流数据进行分析和监控的、有面向科学计算和图像处理的。不同类型的应用对系统的性能要求存在较大的差异,这也为大数据系统的基准制定带来了巨大挑战。

(3) 系统测试指标也存在很大的差异性,有的关心系统事务处理时间、有的关注数据

载入( 预处理) 时间、有的关注系统存储代价和扩展性、有的关注系统能耗等,这对基准制定提出了更高的要求。尽管目前已经出现了BigBench 等面向大数据系统的基准测试,但是,仍然有很多工作要做。

3、系统适应性

上世纪80 年代后期,随着计算机应用的开展,人们已经越来越认识到关系数据库的不足,特别是在表达能力方面的不足,关系数据库无法表达和处理XML 数据、非结构化数据等,这直接导致了上世纪90 年代面向对象数据库系统的产生,并大有要取代关系数据库的架势。很可惜,由于种种原因这种努力并没有成功。之后,还提出了XML 数据库等新的数据库系统原型,也都没有产生颠覆性的影响。要说部分获得成功的倒是数据仓库系统,通过提出位图索引、按列存储、立方体等技术,减少并发控制带来的性能损耗,确实对于复杂分析查询获得了极大的性能提升。因此,想用一个系统来处理全部类型的应用是不现实的,最好的办法是针对某类应用采用相应的系统。普遍的做法是将应用区分为所谓OLTP 和OLAP两大类,前者要确保数据库的正确性,后者重视复杂分析查询的计算性能。 2012 年3 月,美国奥巴马政府发布了《大数据研究和发展倡议》,提出联邦政府与行业、科研院校和非盈利机构一起,共同迎接大数据创造的机遇和挑战。某种程度上,大数据在美国已经形成了全体动员格局。大数据技术将在科学研究、环境保护、生物医药研究、教育以及国家安全等领域重点突破。美国国家科学基金会、国家卫生研究院、国防部、能源部、国防部高级研究局等六个联邦部门和机构承诺,将投入超过2 亿美元资金用于研发“从海量数据信息中获取知识所必需的工具和技能”。 2013 年2 月,法国政府发布《数字化路线图》,列出了将会大力支持的战略性高新技术,大数据是其中一项。同年4 月,法国召开“第二届巴黎大数据大会”,法国经济、财政和工业部门宣布将投入1 150 万欧元用于支持未

来重点项目。2012 年5 月,联合国 “全球脉动”(Global Pulse)发布《大数据开发:机遇与挑战》报告,阐述了大数据带来的机遇、主要挑战和大数据应用。全球脉动计划的目标在于利用数字化的早期预警分析,提前规划、调整、指导联合国在全球范围内,针对众多行业领域的援助项目,以提高援助项目完成的精确性和有效性。

4、 我国大数据发展探索

我国在信息化发展领域,多次强调重视提升信息资源开发利用水平,强调关注大数据工作。目前,国内的实质推进更多地处于地方、产业等各部门自发的探索实践。广东省是国内率先关注大数据的地方之一。2013 年出台《广东省信息化发展规划纲要》,明确 “大数据和商业智能试点示范应用成效明显,公共服务和社会管理电子化、网络化全面普及,信息化有效推动产业转型升级和生产方式转变,信息化成果惠及全省人民”。在构建信息技术产业体系任务中,明确“构建面向企业经营管理及社会服务和管理的大数据挖掘应用创新平台。”在推动信息化和工业化深度融合任务中,明确“推进大数据商业化应用.培育数据资源服务重点企业,提高数据资源服务能力”。

2012 年12 月,陕西省发布“大数据产业发展战略”与“沣西大数据产业园发展规划”。陕西省大数据发展分为三个阶段:导入期、建设期、成长期;到2017 年,建成以西咸新区为核心的大数据处理与服务产业集群,力争成为国家政务信息资源的汇集地、社会信息资源的集散地。2013 年3 月深圳市大数据产业研联盟成立。联盟立足于发挥深圳高新技术研究和产业化优势,发挥产业联动作用,促进同行业间信息沟通、业务合作、资源共享、优势互补,促进大数据产业链的形成。2013 年6 月,山东农业大数据产业技术创新战略联盟成立。由政府、高校、科研单位、企业组成的联盟将通过加强对农业相关信

息和数据的分析研究,为政府决策、产业发展提供更多的服务和支持。针对大数据应用,按照领域或者按照应用的不同类型区别对待,研制最合适的系统是目前可行的办法。例如,对于复杂数据分析、即时查询请求及流数据处理,可能需要不同类型的系统。纵观现在的商业公司及数据库产品有下面几种类型。

1)IBM 的DB2

作为关系数据库领域的开拓者和领航人,IBM在1997年完成了System R系统的原型,1980年开始提供集成的数据库服务器—— System/38,随后是SQL/DSforVSE和VM,其初始版本与SystemR研究原型密切相关。DB2 forMVSV1 在1983年推出。该版本的目标是提供这一新方案所承诺的简单性,数据不相关性和用户生产率。1988年DB2for MVS 提供了强大的在线事务处理(OLTP)支持,1989 年和1993 年分别以远程工作单元和分布式工作单元实现了分布式数据库支持。最近推出的DB2Universal Database 6.1则是通用数据库的典范,是第一个具备网上功能的多媒体关系数据库管理系统,支持包括Linux在内的一系列平台。

2)Oracle

Oracle前身叫SDL,由LarryEllison 和另两个编程人员在1977创办,他们开发了自己的拳头产品,在市场上大量销售,1979 年,Oracle公司引入了第一个商用SQL 关系数据库管理系统。Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系统平台。目前Oracle关系数据库产品的市场占有率名列前茅。

3)Informix

Informix在1980年成立,目的是为Unix等开放操作系统提供专业的关系型数据库产品。公司的名称Informix便是取自Information 和Unix的结合。Informix第一个真正支持SQL语言的关系数据库产品是I n f o r m i x S E(StandardEngine)。InformixSE是在当时的微机Unix 环境下主要的数据库产品。它也是第一个被移植到Linux上的商业数据库产品。

4)Sybase

Sybase公司成立于1984年,公司名称“Sybase”取自“system”和“database”相结合的含义。Sybase公司的创始人之一Bob Epstein 是Ingres 大学版(与System/R同时期的关系数据库模型产品)的主要设计人员。公司的第一个关系数据库产品是1987年5月推出的SybaseSQLServer1.0。Sybase首先提出了Client/Server 数据库体系结构的思想,并率先在Sybase SQLServer 中实现。

5)SQL Server

1987 年,微软和IBM合作开发完成OS/2,IBM 在其销售的OS/2 ExtendedEdition 系统中绑定了OS/2Database Manager,而微软产品线中尚缺少数据库产品。为此,微软将目光投向Sybase,同Sybase 签订了合作协议,使用Sybase的技术开发基于OS/2平台的关系型数据库。1989年,微软发布了SQL Server 1.0 版。

6)PostgreSQL

PostgreSQL 是一种特性非常齐全的自由软件的对象——关系性数据库管理系统(ORDBMS),它的很多特性是当今许多商业数据库的前身。PostgreSQL最早开始于BSD的Ingres项目。PostgreSQL 的特性覆盖了SQL-2/SQL-92和SQL-3。首先,它包括了可以说是目前世界上最丰富的数据类型的支持;其次,目前PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。

数据库技术是计算机发展史上最成功的系统技术之一,产生了三个图灵奖,形成了巨大的产业,推动了信息系统的发展。总结数据库发展过程中的一些经验教训,对大数据系统的发展同样具有借鉴意义。特别是数据独立性的要求,关系数据库的一些优点,基准测试的做法,以及“一招鲜”失灵了的结论对于当前大数据分析与管理的研究都具有参考价值。

因篇幅问题不能全部显示,请点此查看更多更全内容