数据库技术发展史

数据库技术发展史

数据模型是数据库系统的核心和基础。数据库技术依据数据模型的进展可分为三个发展阶段:第一代的网状、层次数据库系统;第二代的关系数据库系统,以及新一代的数据库大家族。

一、第一代数据库系统

层次和网状模型都是格式化模型。它们从体系结构、数据库语言到数据存储管理均具有共同特征,是第一代数据库系统。
第一代数据系统的代表:

  1. 1969年由IBM公司研制的层次模型数据库管理系统IMS。
  2. 美国数据库系统语言研究会(CODASYL)下属的数据库任务组(DBTG)对数据库方法进行了系统的研究和探讨,20世纪60年代提出的DBTG报告。DBTG所提的方法是基于网状结构的,是网状模型数据库的典型代表。

第一代数据库系统的特点:

  1. 支持三级模式(外模式、模式、内模式)的体系结构。模式之间具有转换(或映射)功能。
  2. 用存储路径来表示数据之间的联系。这是是数据库系统和文件系统的主要区别之一。数据库不仅存储数据,而且存储数据之间的联系。数据之间的联系在层次和网状数据库系统中都是用存取路径来表示和实现的。
  3. 独立的数据定义语言。层次数据系统和网状数据库系统有独立的数据定义语言,用以描述数据库的三级模式以及相互映像。
  4. 导航的数据操纵语言。层次和网状数据库的数据查询和数据操纵语言是一次一个记录的导航式的过程化语言。

导航式操纵语言的优点是按照预设的路径存取数据,效率高;缺点是编程繁琐,应用程序的可移植性交差,数据的逻辑独立性也较差。

二、第二代数据库系统

支持关系数据模型的关系数据库系统是第二代数据库系统。
1970年,IMB公司的研究员提出了数据库的关系模型,开创了数据库关系方法和关系数据理论的研究,为关系数据库技术奠定了理论基础。
20世纪70年代是关系数据库理论研究和原型开发的时代。

  1. 奠定了关系模型的理论基础,给出了人们一致接受的关系模型的规范说说明。
  2. 研究了关系数据语言,包括关系代数、关系演算、SQL及QBE等,确立了SQL为关系数据库语言标准。
  3. 研制了大量的关系数据库管理系统原型,攻克了系统实现中查询优化、事务管理、并发控制、故障恢复等一系列关键技术。这不仅大大丰富了数据库管理系统实现技术和数据库理论,更促进了数据库的产业化。

第二代关系数据库系统具有模型简单清晰、理论基础好、数据独立性强、数据库语言非过程化和标准化等特色。

三、新一代数据库系统

第一、二代数据库系统的数据模型虽然描述了显示世界数据的结构和一些重要的相互联系,但是仍然不能捕捉和表达数据对象所具有的丰富而重要的语义。
新一代数据库系统以更丰富多样的数据模型和数据管理功能为特征,满足广泛复杂的新应用的要求。第三代DBMS应具有的三个基本特征(三条基本原则):

  1. 第三代数据库系统应支持数据管理、对象管理和知识管理。
    除提供传统的数据管理服务外,第三代数据库系统将支持更加丰富的对象结构和规则,应集数据管理、对象管理和知识管理为一体。
  2. 第三代数据库必须保持或继承第二代数据库系统的技术。
    第三代数据库系统应继承第二代数据库系统已有的技术;保持第二代数据库系统的非过程化数据存取方式和数据独立性,这不仅能很好的支持对象管理和规则管理,而且能更好地支持原有的数据管理,支持多数用户需要的查询等。
  3. 第三代数据库必须对其他系统开放。
    数据库系统的开放行表现在支持数据库语言标准;在网络上支持标准网络协议;系统具有良好的可移植性、可连接性、可扩展性和可互操作性等。

数据库管理技术的发展趋势

数据、应用需求和计算机硬件技术是推动数据库发展的三个主要动力。

一、数据管理技术面临的挑战

随着数据获取手段的自动化、多样化与智能化,数据量越来越巨大,对于海量数据的存储和管理,要求系统具有高度的可扩展性和可伸缩性,以满足数据量不断增长的需要。传统的分布式数据库和冰箱数据库在可扩展性和可伸缩性方面明显不足。
数据类型越来越多样和异构,从结构化数据扩展到文本、图形图像、音频、视频等多媒体数据,HTML、XML、网页等半结构化/非结构化数据,还有流数据、队列数据和程序数据等。传统数据库对半结构化/非结构化数据的存储、管理和处理能力十分有限。
数据处理和应用的领域已经从OLTP为代表的事务处理扩展到OLAP分析处理,从数据仓库中结构化的海量历史数据的多维分析发展到对海量非结构化数据的复杂分析和深度挖掘;并且希望把数据仓库的结构化数据与互联网上的非结构数据结合起来进行分析挖掘,把历史数据与实时流数据结合起来进行处理。
数据的海量异构、形式繁杂、高速增长、价值密度低等问题阻止了数据价值的创造。对数据的组织、检索和分析都是基础的挑战。
计算机硬件技术是数据库系统的基础。当今计算机硬件体系结构的发展十分迅速,利用新的硬件技术来满足海量数据存储和管理的需求,一方面要对传统数据库的体现结构包括存取策略、存取方法、查询处策略、查询算法、事务管理等进行重新设计和开发,要研究和开发面向大数据分析的内存数据库系统;另一方面,针对大数据需求,以集群为特征的云存储称为大型应用的架构,研究与开发新计算平台上的数据管理技术与系统。

二、数据管理技术的发展与展望

传统的关系数据库在系统伸缩性、容错性和可扩展性方面难以满足海量数据的柔性管理需求,NoSQL技术顺应大数据发展的需要,蓬勃发展。
NoSQL是指非关系型的、分布式的、不保证满足ACID特性的一类数据管理系统。它具有以下特点:

  1. 对数据进行划分,通过大量节点的并行处理获得高性能,采用的是横向扩展的方式。
  2. 方式对数据的ACID一致性约束,允许数据暂时出现不一致情况,接收最终一致性。它遵循BASE原则,是一种弱一致性约束框架。
  3. 对各个数据分区进行备份,应对节点可能的失败,提供系统可用性等。

NoSQL技术依据存储模型可分为基于Key-Value存储模型、基于列分组存储模型、基于文档模型和基于图模型。分析型NoSQL技术的主要代表是MapReduce技术。MapReduce技术框架包含:高度容错的分布式文件系统,并行编辑模型和并行执行引擎。MapReduce并行编程模型的计算过程分解为Map和Reduce阶段。Map函数处理Key/Value对,产生一系列的中间Key/Value对;Reduce函数合并所有具有相同Key值的中间Key/Value对,计算最终结果。
各类技术的互相借鉴、融合和发展是未来数据管理领域的发展趋势。

你可能感兴趣的:(数据库)