核心价值观

  • 孝悌忠信
  • 立身之本
  • 礼义廉耻
  • 吾辈所宗
  • 万古纲常
  • 千秋名节

数据库简史

数据库已经成为IT行业的基石,成为最重要的软件。Oracle公司的oracle是Unix/Linux 平台上的霸主、收购的Mysql需求依然强劲,微软公司凭借其windows平台,旗下SQL Server 在稳步夺取了中心企业市场后,逐步向高端市场迈进;SAP 公司原来是最著名的ERP公司、收购了SYBASE公司后,除内存数据库HANA外,旗下多了Sybase ASE、Sybase ASA、Sybase IQ,凭借其纵向一体化的并购战略及行业地位,也成为了数据库行业的主要成员。而原来的行业老大IBM公司,虽然在数据库方面的专利数量有绝对优势、作为硬盘的发明者,IBM的主要收入只能依靠大型机了,DB2依靠IBM在服务器行业地位仍占据一席之地,收购来的informix已日渐式微。 数据库的定义:"A computer database is a structured collection of records or data that is stored in computer system so that a computer program or person using a query language can consult it to answer queries."从这个业内权威定义来看 ,EXCEL虽然具备很多数据库的功能,也能够 创建并配合数据库工作,但其目前不作为数据库看待,主要原因就在于用户是使用直观的表格界面与其交互而非SQL。

第一个数据库是 Integrated Data Store (IDS) ,出现在上世纪60年代,由在GE工作的Charles Bachman设计实现,他本人1973年因此获得图灵奖。 层次数据库和现在的LDAP 和XPATH很类似,以一颗树的形式来组织数据,每个节点只有一个父节点。IBM公司的IMS 是最典型的层次数据库(1966),源自阿波罗登月计划,由于现在已支持 Java、JDBC、XML 和web services。故现在客户群依然高贵,代表性客户是美联储和我国的建行,我国很多银行的ATM机后台支持的数据库都采用了IMS。 网状数据库一个节点可以有多个父节点。大型机上网状数据库提供商主要有Honeywell,Siemens AG,CulLiNet.标准由CODASYL下面的DBTG工作组来制定。层次数据库和网状数据库统称为Navigational数据库。

关系数据模型的鼻祖:Edgar.F.Codd,1923年生于英格兰,二战时任英国皇家空军的战斗机的机长,战后1948年毕业于牛津大学数学系,随后赴美加入IBM公司。上世纪60年代中期重回校园,进入University of Michigan 攻读计算机与通信专业,在42岁那年取得博士学位(注:这个不是天津武爷那种所谓名校的工学博士学位,是实打实的苦读出来的)。Codd 在1970年发表在IBM system journal “A Relational Model of Data for Large Shared Data Banks" 的这篇论文,开启了关系数据库的时代。IBM内部包括Codd 本人没有意识到关系数据模型的影响力。由于IBM已经有了IMS这种利润很高的产品,IMS部门位高权重,所以Codd成了政治斗争的牺牲品,虽然1973年IBM迫于竞争压力,开始了System R(1973-1979)研发项目,但Codd并没有加入该项目。SystemrR 最终成为计算机史上最有影响力的项目之一,1988年获得ACM系统奖,但是SystemR 没有让IBM放弃IMS。其后Codd 积极在IBM外部推广关系数据模型,获得了一定的认可,同时也更进一步加深了和IBM的矛盾,Codd 1981年获得图灵奖,1984年离开IBM。离开IBM后,Codd 同毕业于剑桥的同样是学数学的Christopher J. Date.(C.J.Date) 合作推广关系数据库及SQL,C.J.Date(生于1941年)是当今活着的最权威的SQL作者。Codd 由于身体原因,90年代就不再工作了,2003年4月18日逝世于Florida家中,结束了他传奇性的一生。

SystemR数据库基于Codd的理论,与此同时,小混混Larry Ellison(One Rich Asshole Called Larry Ellison)也受Codd 论文灵感的启发,也在1977年创立了2000美元的软件开发实验室Software Development Laboratories (SDL),自己投了$1,200 ,另外两个人是Bob Miner(总裁) 和Edward Oates(副总裁;1979年发布第一款产品Oracle 2.0,同年将公司改名为Relational Software Inc.1982年正式更名为Oracle Systems Corporation。1983年IBM公司才推出自己的关系数据库DB2 for MVS .技术天才 Bob Miner和Bruce Scott承担最主要的开发任务,是Oracle的幕后英雄,Bob.Miner 1994年病故,Bruce Scott(用过oracle 的 人都知道Scott/Tiger Tiger是他养的一只猫)1983年 离开oracle;Edward Oates由于婚姻问题80年代离开oracle后再重新加入,99年彻底离开。Oracle 通过一系列的企业并购,业已成为数据库 /ERP/PDM/SCM/CRM/BI 等系列的超大平台厂商,java 及Solaris、Mysql都是其旗下品牌。

Ingres项目是加州大学伯克利分校的Michael Stonebraker 和Bob Epstein领导的,于SystemR 几乎同时开始,主要是Berkeley的研究生,原本主要是集中在Unix 和小型机上,功能与SystemR 类似,但是代码可以免费取得。Bob Epstein于1987年5月 推出Sybase SQL Server1.0,首先推出了C/S 数据库体系结构的思想并首先实现。1987年 ,Sybase和微软两家联合开发SQLServer,两家都拥有一套完全相同的SQL Server 代码,但是Sybase 是以sun公司的Unix的工作站开发,命名为Sybase SQL Server,中间微软和Ashton-Tate(DBASEIII)也合作过,最终形成了支持windows的MS SQL Server,两家分手后,Sybase 也将Sybase SQL Serve 更名为Adaptive Server Enterprise,即Sybase ASE,出于扩大市场的需要,ASE也支持Windows操作系统了。但Sybase公司不只ASE一种数据库,另外两个是面向数据仓库的IQ和面向移动和嵌入式的ASA;Sybase ASE 作为一个老牌DBMS,主要应用于金融证券、铁路交通、电信、政府等特大客户,对于数据灾难的容灾设计考虑主要是硬件层面,即RAID的保护,迄今为止数据库本身没有修复功能,故而宣传自己可以修复SYBASE数据库的,纯属吹牛。而被微软公司把名字抢过来的SQL Server,却越发强大,国内企业市场上的服务器装机量至少95%都是SQL Server,主要的原因是国内在普及推广ERP的过程中,各大软件厂商都选用了WindowsServer+SQLServer这种推广方案,用友金蝶新中大浪潮鼎新天思金算盘管家婆等都是如此,其他数据库例如Oracle、Sybase ASA装机量都不多,DB2、informix就更是只使用在国外ERP上了,主要用户集中在北上广深苏州大连等发达地区,内地和中西部使用者极少。 Ingres项目使用BSD许可证,除了衍生出了Sybase ASE、 Microsoft SQL Server外,还有著名的Informix,后被IBM收购;stonebraker教授在Ingres项目结束后,领导了称为Posrgres的后Ingres项目,将Postgres放在了BSD版权的保护下,如今Postgres名字已经变成了PostgreSQL,功能日渐强大而且可以自由地浏览它的代码库,实时了解一线工程的思路,由于国内知识产权意识淡薄,所以PostgreSQL 普及程度尚不及Mysql。无论从何种意义上讲,Ingres都是计算机历史上最有影响的计算机研究项目!

除去关系数据库以外,还有自动化行业使用的实时数据库、云计算使用的NOSQL(Not Only SQL)、内存数据库等,Foxpro、Access、Firebird等数据库通常被称为文件数据库,即桌面使用的数据库,由于EXCEL的数据库功能日渐强大,这些数据库会逐步消亡。在发生数据灾难后,往往依靠数据库服务器上的RAID机制进行数据保护,Oracle公司和微软公司及其各自集团下的第三方服务商提供了各自的损坏修复机制和工具及接口,故而专业用户在掌握数据库本身理论机理的前提下可以进行某种程度的损坏修复。