首页 > 数据库 >浅谈国产数据库

浅谈国产数据库

时间:2022-10-08 15:35:14浏览次数:80  
标签:埃里森 浅谈 数据库 冯星君 国产 Oracle 数据库系统 IBM


前言:Oracle的诞生

数据库技术的发展离不开时代的步伐,最早的一代数据库是伴随着大量数据的难以管理而催生的

1 9 5 1 年雷明顿兰德公司(Remington Rand Inc.)的一种叫做Univac I 的计算机推出了一种一秒钟可以输入数百条记录的磁带驱动器,从而引发了数据管理的革命。
1956 年IBM生产出第一个磁盘驱动器—— the Model305 RAMAC。此驱动器有50 个盘片,每个盘片直径是2 英尺,可以储存5MB的数据。使用磁盘最大的好处是可以随机地存取数据,而穿孔卡片和磁带只能顺序存取数据。
数据库发展史
​​​https://blog.51cto.com/february/168305​

但数据库的快速发展,除了有市场的巨大需求外,其实也还有军方力量在背后催动。这也是为什么Oracle能够迅速崛起,然后一统江湖的重要原因。

在聊Oracle之前,我们需要先了解一下关系数据库的发展。

传统数据库系统分为网状数据库、层次数据库和关系数据库三类。纵观数据库发展史,最早出现的是网状DBMS,是美国通用电气公司Bachman等人在1961年开发成功的IDS(Integrated DataStore)。1961年通用电气公司(General ElectricCo.)的Charles Bachman 成功地开发出世界上第一个网状DBMS也是第一个数据库管理系统—— 集成数据存储(Integrated DataStore IDS),奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。而最早重视数据库的是IBM公司,如IBM公司在1968 年开发的最典型的层次型数据库系统 IMS(Information Management System),一种适合其主机的层次数据库。这也是IBM公司研制的最早的大型数据库系统程序产品。

随着网状数据库和层次数据库发展越来越好,他们它们在数据独立性和抽象级别上的缺陷也逐渐显露出来,还是IBM公司率先实现了突破性进展。1970 年,IBM 的研究员E.F.Codd博士在刊物Communication of the ACM上发表了一篇名为“A Relational Modelof Data for Large Shared Data Banks”的论文,提出了关系模型的概念,奠定了关系模型的理论基础。并且Codd博士还使用数学理论与公式来阐明关系系统理论,后续还进行了一系列工作。但很可惜,IBM没有抓住这次机会推出可商用关系数据库。

浅谈国产数据库_oracle


(Ellison年轻时照片)

后来就是我们所熟悉的故事啦,Oracle的创始人Ellison读到了E.F.Codd十年前就发表了的关系数据库理论相关论文,并发现了他们在IBM 研究机构开发的原型项目——R系统,存取数据表的语言就是SQL。Ellison看完后,敏锐意识到在这个研究基础上可以开发商用软件系统。而当时大多数人认为关系数据库不会有商业价值。Ellison认为这是他们的机会:他们决定开发通用商用数据库系统Oracle,这个名字来源于他们曾给中央情报局(CIA)做过的项目名。不久,他们便推出Oracle1.0,但那还不足以商用,最后沉淀多时,终于,在1979年,全世界第一个商用关系型数据库 Oracle正式诞生!

起步:不甘人后,步履维艰

同样是1979年,中国人民大学经济信息管理系的第一任系主任萨师煊将自己的讲稿汇集成《数据库系统简介》和《数据库方法》并发表。这是中国大陆最早的数据库学术论文

浅谈国产数据库_数据库_02


(萨师煊老师)

但其实早在1974年,萨师煊等学者就开始了解到信息科学并掌握了数据处理人才培养的框架,并在中国经过“十年浩劫”后刚刚恢复高考的1978年,开设“数据库概论”课程,当时全国各地的高校教师和相关科研工作者都赶到人大来听这门课,在全国产生了极大的影响。1982年,萨师煊起草了国内第一个计算机专业本科“数据库系统概论”课程的教学大纲,1983年该大纲正式通过,并且教育部部属高等学校​​计算机软件专业​​教学方案将“数据库系统概论”列为四年制本科生的必修课程。就此,数据库技术终于开始在中国这片神州大地上遍地开花。

说到这里,我想插问一句:为什么一定要搞国产数据库呢?
相信恐怕很多朋友都有这个疑问,觉得现在MySQL,Oracle基本上都一统天下了,而且生态也更加完善,为什么非要国产化?此处我无从作答,但是我在翻看资料时看到两个关于Oracle中国代理的小故事,与君分享,希望能够解惑。
首先我们需要了解一个与Oracle中国密切相关的人——冯星君。他是让Oracle真正在中国扎根发展起来的一个重要人物。详细可见:​​​Oracle中国不可不谈的人:冯星君​​下面的故事都与此人有关:

1997年1月27日,Oracle创始人埃里森乘专机飞临北京,冯星君通过关系安排国宾车队去接,国宾车队的车一直开到跑道上,一大队车闪着灯很威风。
机舱门开了,但人总是不出来,等了20分钟,从飞机上跳下来一个穿防弹衣的黑人保镖,他对迎接的车队说:“所有的车门全部打开,我要检查有没有炸弹。”
一边是美国来的大老板,一边是同样惹不起的国宾车队,这哥们太难受了,他忍了,最终打开了车门进行了检查。

第二天,埃里森要到长城拍推广网络计算机的电视片,事前吩咐冯星君找了20个小学生参与拍摄。约好早上8点,直到9点,埃里森都不起床。
当天零下20多度,大巴没有暖气。冯星君去求埃里森:“那些小孩要冻死了。”冯星君眼泪都快流出来了,埃里森才勉强答应启程。
去了没多久,埃里森让副手打回电话给冯星君说:“埃里森挺喜欢长城,玩得挺高兴,中午就不回来了,你取消下午3点跟李鹏(时任国务院总理)的会面吧。”
这哥们差点晕过去。“下午的会面不是开玩笑的,如果我2点钟看不见埃里森,我辞职,我要走了,这个责任我担不起。”
那边一听怕了,埃里森一行匆匆赶回人民大会堂,那个黑人保镖还要跟着进去,说要保护老板,吵闹得不可开交。

Larry (埃里森)有个嗜好,他喜欢人等,越多人等他,他越不出现。

标签:埃里森,浅谈,数据库,冯星君,国产,Oracle,数据库系统,IBM
From: https://blog.51cto.com/u_15818359/5738074

相关文章

  • Django中如何使用Mysql数据库
    Django中如何使用Mysql数据库https://blog.csdn.net/weixin_47649808/article/details/126366088首先在项目settings.py的文件同目录下的 init.py文件里输入importp......
  • 2022年最新最详细的MYSQL数据库安装(详细图解过程、毕成功)
    新电脑安装mysql、按照以下教程成功安装。踩了两个坑、特此记录1、下载mysql5.7版本链接:​​mysql5.7网盘地址​​提取码:v7pe2、详细安装教程直接根据下方链接教程就可mysq......
  • 【算法浅谈】二分法
    二分法注意边界的开闭,以及除法自动取整的特性。publicintmySqrt(intx){//使用简单二分法进行排除得出开方结果intans=0;//对输入为0的情况......
  • H2 数据库的 expected “identifier 错误
    尝试使用H2数据库创建表,但是老是提示expected"identifier这个错误。问题和解决经过搜索后才知道,上面的错误是因为我们使用的表名USER是H2的关键字。H2的关键字列......
  • 【数据库开发】国产数据库之达梦DM
    文章目录​​1、简介​​​​2、达梦线上实验室​​​​2.1查看达梦数据库运行状态​​​​2.2查看达梦数据库版本​​​​2.3创建用户并授权​​​​2.3.1创建用户​​......
  • rac数据库,数据文件误添加到本地文件系统,被删除。恢复被删除的数据文件 并将数据文件路
    恢复被删除的数据文件并将数据文件路径改存储到ASM存储createtablespaceshanxia01datafile'/home/oracle/shanxia01.dbf'size50M;createusershanxia01identifie......
  • 浅谈前端常用设计模式之一:策略模式
    前言2022年,前端技术依旧日新月异,各种新兴技术或业务解决方案层出不穷。但我始终认为,在变与不变之间,唯有经典永恒,设计模式就是经典之一。在笔者从业期间,见过很多不同人写......
  • Ubuntu迁移mysql数据库到新的目录下
    1.先使用下面命令将mysql数据库服务停止:sudosystemctlstopmysql2.迁移到挂载新盘/mnt/data/方式一:sudomv/var/lib/mysql/mnt/data/方式二:sudocp-a/var/l......
  • pandas 连接数据库
    fromsqlalchemyimportcreate_engine#Djangoweb的项目要把爬取的一些数据存入MySQL中,数据保存为csv格式,想到pandas中有to_sql这个方法,就采用它了#engine=create_......
  • 数据库基础
    1范式化设计1.1第一范式(1NF)无重复的列定义所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者......