分布式系统

SQL&NoSQL年代记

2011年1月29日 阅读(1,523)

转载请注明作者:phylips@bmy       

出处:http://duanple.blog.163.com/blog/static/70971767201102944512890/

        1961年,通用电气公司(General Electric Co.)的Charles Bachman成功地开发出世界上第一个网状DBMS也是第一个数据库管理系统——集成数据存储(Integrated DataStore IDS),奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。后来Charles Bachman因在数据库方面的贡献获得图灵奖。

1968年,IBM开发的IMS(Information Management System),一种适合其主机的层次数据库。这是IBM公司研制的最早的大型数据库系统程序产品。

1968年,Childs提出了面向集合的模型。

1970年,6月IBM圣约瑟研究实验室的高级研究员Edgar Frank Codd在Communications of ACM上发表了A Relational Model of Data for Large Shared Data Banks。首次明确提出关系数据库模型。此后,之前基于层次模型和网状模型的数据库产品很快消亡。

1972年,Codd提出了关系代数和关系演算的概念, 定义了关系的并、交、投影、选择、连接等各种基本运算, 为日后成为标准的结构化查询语言(S Q L )奠定了基础。 后来Codd又陆续发表多篇论文,论述了范式理论和衡量关系系统的12条标准,为关系数据库建立了一个严格的数学模型。而此时网状数据库的标准化工作正在进行,同时有人认为关系数据库是一个过于理想化的模型,对它的性能表示担忧。又是出现了关系数据库与反关系数据库两派(历史总是如此相似)。

1974年,ACM牵头组织了一次研讨会,会上开展了一场分别以Codd和Bachman为首的支持和反对关系数据库两派之间的辩论。

1974年,IBM 的研究员 Don Chamberlin 和 Ray Boyce 通过 System R 项目的实践,发表了论文"SEQUEL:A Structured English Query Language"。论文中提出的 SEQUEL 语言是一套比关系微积分与关系代数更适合最终用户使用的非程序化查询语言,我们现在所熟知的 SQL 语言就是基于它发展起来的。

1975年,IBM的研究员 Don Chamberlin 和 Morton Astrahan的论文"Implentation of a Structured English Query Language"在 SEQUEL 的基础上描述了 SQL 语言的第一个实现方案。这也是 System R 项目得出的重大成果之一。

1976年,IBM System R 项目组发表了论文"A System R: Relational Approach to Database Management",描述了一个关系型数据库的原型。

1976年,IBM 的研究员 Jim Gray 发表了名为"Granularity of Locks and Degrees of Consistency in a Shared DataBase"的论文,正式定义了数据库事务的概念和数据一致性的机制。后Jim Gray获得1998年图灵奖。

1977年6月,Larry Ellison 他们三人合伙出资2000美元成立了软件开发RelationalSoftware公司,Ellison拥有60%的股份,即稍后的Oracle公司。1976年IBM研究人员Codd博士发表了一篇里程碑的论文 "R系统:数据库关系理论",介绍了关系数据库理论和查询语言SQL, Ellison非常仔细地阅读了这篇文章,被其内容震惊,这是第一次有人用全面一致的方案管理数据信息。作者Codd几乎在近十年前就发表了关系数据库理论,并在IBM研究机构开发原型,这个项目就是R系统,存取数据表的语言就是SQL,文章详细描述了他十年的研究成果和如何实现的方法,Ellison 看完后,敏锐意识到在这个研究基础上可以开发商用软件系统。那时大多数人认为关系数据库不会有商业价值,因为速度太慢,不可能满足处理大规模数据或者大量用户存取数据,关系数据库理论上很漂亮而且易于使用,但不足就是太简单实现速度太慢。 Ellison认为这是他们的机会:他们决定开发通用商用数据库系统Oracle,这个名字来源于他们曾给中央情报局做过的项目名。

1977年,System R 原型在3个客户处进行了安装,这 3 个客户分别是:波音公司、Pratt & Whitney 公司和 Upjohn 药业。这标志着 System R 从技术上已经是一个比较成熟的数据库系统,能够支撑重要的商业应用了。

1979年,IBM的研究员 Pat Selinger在她的论文"Access Path Selection in a Relational Database Management System"中描述了业界第一个关系查询优化器。

1979年,IBM1973年在San Jose实验室的关系数据库项目完成,System R诞生,是第一个实现SQL的DBMS。在该项目进行的同时,1973年加州大学伯克利分校的Michael Stonebraker和Eugene Wong利用System R已发布的信息开始开发自己的关系数据库系统Ingres。他们开发的Ingres项目最后由Oracle公司、Ingres公司以及硅谷的其他厂商所商品化。后来,System R和Ingres系统双双获得ACM的1988年“软件系统奖”。

1980年,IBM 发布了 S/38 系统,该系统中集成了一个以 System R 为原型的数据库服务器。为了方便应用程序的移植,它的 API 与 S/3、S/32 的 API 一致。

1981年,这一年的图灵奖颁发给了关系数据库之父Codd,在颁奖时,Codd做了题为“关系数据库:提高生产率的实际基础”的演说。Codd 博士也是继查尔斯.巴赫曼(Charles W. Bachman) 之后,又一位由于在数据库领域做出巨大贡献而获此殊荣的计算机科学家。

1983年,IBM 推出了DB2数据库产品。

1986年,ANSI把SQL作为关系数据库语言的美国标准,同年公布了标准SQL文本。

1988年,IBM公司的研究者Barry Devlin和Paul Murphy发明了一个新的术语—信息仓库,之后,IT的厂商开始构建实验性的数据仓库。

1991年,W.H. "Bill" Inmon出版了一本“如何构建数据仓库”的书,使得数据仓库真正开始应用。

1992 年,Michael Stonebraker提出对象关系数据库模型。

2000年7月19号,Eric Brewer在ACM研讨会上关于分布式计算的原则所做的开题演讲中提出了CAP猜想。

2002年,麻省理工(MIT)的Seth GilbertNancy Lynch理论上证明了Brewer猜想是正确的,就此Brewer定理(Theorem)诞生了。

2003年,google在SOSP上发表Google File System论文。

2004年,google在OSDI上发表MapReduce论文。

2005年,google在Scientific Programming Journal发表关于Sawzall的论文。

2006年,google发表关于BigTable和Chubby的论文。

2006年8月9日,GoogleCEO埃里克·施密特(Eric Schmidt)在搜索引擎大会(SES San Jose 2006)首次提出云计算(Cloud Computing)的概念。Google “云计算”源于Google 工程师克里斯托弗·比希利亚所做的“Google 101”项目。

2007年,amozon发表关于其高可用key-value存储系统Dynamo的论文。

2008年,Carlo Strozzi提出了NoSQL一词,用来指代他开发的一个没有SQL功能,轻量级的,开源的关系型数据库。

2009年初,Johan Oskarsson举办了一场关于开源分布式数据库的讨论,Eric Evans在这次讨论中再次提出了NoSQL一词,用于指代那些非关系型的,分布式的,且一般不保证遵循ACID原则的数据储存系统的出现和兴起。 Eric Evans使用NoSQL这个词,并不是因为字面上的“没有SQL”的意思,他只是觉得很多经典的关系型数据库名字都叫"**SQL"(例如 MySQL,MS SQL,PostgreSQL),所以为了表示跟这些关系型数据库在定位上的截然不同,就用了"NoSQL"一词。之后NoSQL一词迅速流行。

2009年6月,NoSQL运动成员在Atlanta的一次全球性聚会引爆了一场“数据库革命”的导火索。

2010年,Twitter、Digg和Reddit等多家Web 2.0企业宣布从MySQL数据库转而使用非关系型数据库(NoSQL)提供可伸缩的数据存储解决方案。几个月后, Twitter和Digg又很低调地回滚到了MySQL上。

参考资料:

数据库发展历史

You Might Also Like