【数据管理和数据库的发展史】唯有源头活水来——数据库学习之路(1)

来源:互联网 发布:淘宝女款折扣凉鞋 编辑:程序博客网 时间:2024/05/17 01:10


数据管理的发展阶段:

1. 人工管理阶段

50年代中期及以前,计算机主要用于科学计算,外存只有磁带、卡片、纸带,没有操作系统、没有管理数据的软件

这一阶段,正如初次学习编程语言的大一上学期,数据需要在黑框内输入,之后由程序运算返回结果,得到运算的结果,关闭黑框,结束。

2. 文件系统阶段

从50年代后期到60年代中期,计算机开始不仅用于科学计算,还大量用于管理,外存储器有了磁盘、磁鼓等直接存取的存储设备,操作系统中已经有了专门的管理数据软件(文件系统)

这一阶段,跟大一下学期学习面向对象的经历类似,我们需要做的一个课程管理系统,因此将相应的课程信息存入到一个txt文件中,默认行选项列之间空格分隔,行与行是回车分隔,之后依次读取行,再依次读取列,列中读取的信息需要在程序中进行说明,更新数据也是如此,查找行,查找列,利用操作文件的相关函数进行修改。

(Ps:使用磁盘最大的好处是可以随机地存取数据,而穿孔卡片和磁带只能顺序存取数据。)

3. 数据库系统阶段

从60年代后期开始,计算机更大规模的用于管理,数据量急剧增长,数据的共享要求越来越强,外存储器有了大容量的磁盘

这一阶段,是从大二开始到现在的数据管理的方式,自从接触了php,使用了mysql,就对这种二维表类型的关系数据库的使用越来越频繁,结构简单,底层对用户屏蔽,效率高,这是我对使用数据库的直观感受,而接下来的文章就是从此展开。

数据管理的发展与个人学习阶段的变化,有种莫名的契合!


数据库技术的发展:

1. 网状数据库:    

 "网状数据库之父—Charles Bachman

1961年通用电气公司Charles Bachman 成功地开发出世界上第一个网状DBMS也是第一个数据库管理系统——集成数据存储(Integrated DataStore IDS),奠定了网状数据库的基础

1971年,Bachman的研究组提出了DBTG报告,其中确立了包含外部、抽象和内部的三层模式,该模式在数据库领域有着极为深远的影响力。它对于网状数据库系统的研制和发展起了重大的影响。

2. 层次数据库

层次型DBMS是紧随网络型数据库而出现的。最著名最典型的层次数据库系统是IBM公司在1968年开发的IMSInformation Management System

3. 关系数据库

网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径,对大多数用户而言的操作难度较大。


1970年,IBM的研究员E.F.Codd博士(上图)发表论文"A Relational Model of Data for Large Shared Data Banks"(大型共享数据库的关系数据模型)中,提出了关系模型的概念,奠定了关系模型的理论基础。关系数据库属于非过程性语言。关系数据建立在集合论和谓词演算的基础上关系模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。

1974 年,IBM的Ray Boyce和Don Chamberlin以Codd的理论为基础,里程碑式地提出了SQL(Structured Query Language)语言。SQL语言的功能包括查询、操纵、定义和控制,是一个综合的、通用的关系数据库语言,同时又是一种高度非过程化的语言,只要求用户指出做什么而不需要指出怎么做。

关系数据库理论基本成熟后,各大公司在关系数据库管理系统(RDBMS)的实现和产品开发中都遇到一系列技术问题。主要是在数据库的规模愈来愈大,数据库的结构愈来愈复杂,又有愈来愈多的用户共享数据库的情况下,如何保障数据的完整性、安全性、并发性以及故障恢复的能力,这些问题成为数据库产品是否能实用化并最终为用户接受的关键因素。Jim Gray在解决这些重大技术问题,使RDBMS成熟并顺利进入市场的过程中,起到了关键性作用。概括地说,解决上述问题的主要技术手段和方法是:把对数据库的操作划分为称为“事务”的基本原子单位,一个事务要么全做,要么全不做(即all-or-nothing原则);用户在对数据库发出操作请求时,需要对有关的数据“加锁”,防止不同用户的操作之间互相干扰;在事务运行过程中,采用“日志”记录事务的运行状态,以便发生故障时进行恢复;对数据库的任何更新都采用“两阶段提交”策略。以上方法及其他各种方法总称为“事务处理技术”

4. 现状

关系数据库为主流。

关系数据库的局限性也是显而易见的:它能很好地处理所谓的表格型数据",但是,随着大规模非结构化应用在互联网领域的出现,尤其是web2.0的崛起,传统的关系数据库急切呼唤出现一种替代方案:对于专门的应用,设计一种专门的数据库,从而做针对性的优化,提升性能和使用灵活度,以及更好的支持集群化运行来处理海量数据。

5.NoSQL(非关系型)数据库:

具有代表意义的就是Key-value数据库(google的bigtable),图数据库(Neo TechnologyNeo4J),面向列的数据库(amazon的dynamo)等。

key-value数据库:物理组成:存储系统主要由索引文件(.idx)和存储文件(.mmap)组成,索引文件主要存储的是具体数据的索引元信息,帮助快速定位数据在mmap存储文件中的位置。

后记

“问渠那得清如许,为有源头活水来”,对数据管理技术和数据库技术的发展脉络有清晰的了解,就是给学习数据库之路注入了活水,顺流而流,将会遇到更多好玩的数据库相关的知识!







0 0