热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

数据库的前世今生(发展史)数据存储篇

白话数据库的发展史-数据存

给非计算机专业的管理类学生介绍数据库的发展史,用白话、说的通俗易懂确实有点挑战。闲言少叙,图文并茂,文章有点长,大家搬个板凳坐下看。

从人类社会产生,数据和信息的管理就一直伴随,无论是结绳记事,还是信息技术普及的今天,我们主要聊一下计算机出现后数据管理技术发展史, 应用需求、 计算机软硬件发展推动下大体经历了三个发展阶段:

人工管理阶段(20世纪50年代中之前)

文件系统阶段(20世纪50年代末--60年代中)

数据库系统阶段(20世纪60年代末--现在)

数据是事物的符号记录,有了计算机后,记录成为了存储数据,那就先从数据数据存储发展变化来讲。

一、人工管理阶段(20世纪50年代中之前)开始时数据存储如下图,数据表示是用卡孔的数量和位置来表示的,就有点像大片《刺客联盟》中天命织布机的人名的表示。电流或者光通过小孔导通记为1,否则记为0,使用汇编语言将01组合的与字符和数据、公式、程序对应,就可以进行计算并得出结果。计算机主要用于科学计算。外部存储器只有卡片和纸带、磁带等,程序设计语言使用汇编语言。

打孔纸带

▲1951年 磁带首次用于计算机(Univac)数据存储


FORTRAN语言编程的卡片

人们在特定的位置上打洞或者不打洞,来代表“0”或者“1”。这样,要写的程序、要处理的数据,就变成一条条纸带或者一张张卡片,程序指令和数据是在一起的,每一次新数据和公式的加入都要重新打卡,之后再交给当时的计算机去处理,计算机逻辑器件为电子管,无操作系统,采用批处理方式。 

打孔卡表示数据灵感源自美国1890应用于普查数据的赫尔曼·霍尔瑞斯打孔,也是后来IBM卡的前身.


▲美国数据普查的打孔机、打孔卡

用纸卡表示图案的英国织布提花机卡-鼻祖


给大家看老师上学时用过的饭卡


上面的卡孔位置和数量代表卡号,如果想花别人卡上的钱你知道怎么干吗:)

IBM考勤卡,这才是“打卡”的最初来历吧。



二、文件系统阶段(20世纪50年代末--60年代中)

磁鼓

IBM 650计算机上使用的磁鼓长度为16英寸,有40个磁道,每分钟可旋转12500转,可存储10KB数据。

磁带存储机

磁带是所有存储媒体中单位存储成本最低、容量最大、标准化程度最高的常用存储介质之一。它互换性好、易于保存,磁带存储器从早期的盘式磁带机发展到盒式磁带机,单元容量从百MB提高到GB甚至TB级别,可靠性和读写速度显著提高,维护成本大大下降。而磁带库通常内置数百至数千盒磁带,并可更换,理论上容量可无限扩展。磁带库内有机械手用于取出和放回磁带,有多台磁带读写机构用于读出和写入数据。

1956年,IBM发明了世界第一个HDD,350RAMAC。这个硬盘有50个24英寸盘片,只有5MB,但是却有两台冰箱一样大,重量超过一吨。被用于当时的工业领域。

左边是350RAMAC,右是IBM 1301

1962年,IBM推出1301 HDD,它第一次使用空气轴承,消除了摩擦,这个硬盘容量是28MB。上个世纪50、60年代初,机械硬盘HDD,体积巨大,容量奇小。

三、数据库系统阶段(20世纪60年代末--现在)

上世纪60、70年代,14英寸硬盘大如微波炉。

1960-1970年14英寸硬盘是市场的主流。

1973年IBM推出“温彻斯特”HDD,IBM 3340。“温彻斯特”硬盘,也称温盘。温盘,盘片开始涂磁性材料,并且在同一个轴上装了几片盘片。这使得HDD的体积也得到了减小。温盘是现代HDD的雏形。上世纪70年代-80年代,从8英寸硬盘开始,硬盘开始进入民用市场。

1978-1980年, Shugart Assaciates、Micropolis、priam和昆腾这些老牌硬盘厂商,推出了更小的8英寸HDD,不过容量仅为10M、20M、30M以及40M,相比14英寸硬盘而言要小了很多。然而8英寸的HDD因为容量小,并不受工业领域重视,于是8英寸HDD进入了民用市场。上世纪80年代初,5.25英寸硬盘的体积又缩小了,但是硬盘的容量并没有提升。

世界上第一台5.25英寸HDD ST-506

80、90年代,3.5英寸硬盘,从一开始的不受重视,逐渐成为市场主流。

80年代,3.5寸HDD成本高昂,容量较小,不被重视。直到90年代,3.5寸HDD走向辉煌,取代了5.25英寸HDD,成为台式计算机硬盘主流。80年代末期,2.5寸硬盘诞生。90年代各大厂商纷纷转入2.5寸硬盘生产。

2.5英寸HDD轻便、省电、体积小的特点很让当时的笔记本制造商看好,2.5英寸很快成为市场主流。1984年日本舛冈富士雄博士基于浮栅晶体管技术发明了闪存“Flash”(NorFlash、NandFlash)。在90年代Flash SSD诞生了,90年代末逐渐取代了70年代推出的RAM SSD。Flash SSD开始成为HDD的主要竞争对手。微硬盘时代上世纪90年代后移动数码设备的兴起,小于2.5寸的微硬盘逐渐诞生,进入微硬盘时代。

1992年, 1.8寸HDD诞生了。

2005年,日立推出最小的8GB 1英寸微HDD。

东芝发布的0.85英寸微型HDD。

(光威Msata SSD)

随着MLC、TLC闪存进入消费市场。更小体积更大容量的SSD成为可能。2010年 SATA协会推出msata接口。Msata SSD的出现让SSD也拥有了更小的体积,更适合移动设备使用。

(阿斯加特雷赤新月黄 NGFF M.2)

(阿斯加特NVME M.2 SSD)

2014年3D NAND开始量产。3D NAND让闪存的存储密度更高,这使得更大的容量,更小的体积的SSD成为可能。3D NAND的出现让比Msata SSD体积更小的NGFF规格大小的M.2 SSD成为风潮。

SSD的大小还在进化。随着3D NAND的层数的增加。更小体积的BGA SSD出现了。在2014年以后,三星、英特尔、镁光等相继推出了自己的BGA SSD。BGA SSD,是高密度封装的SSD。指甲盖这么大的BGA SSD容量可达到数百个G。想一想,如果笔记本能够集成一个BGA SSD,那么就可以节约出更多宝贵的空间了,也许笔记本最大的散热问题,就能够轻易解决了。而这只是BGA SSD的应用的一方面,未来BGA SSD将广泛的用于各个领域。

未来的硬盘

3D NAND到72层,已经接近物理极限,难以再进行微缩了。近年来,全世界都在寻找新的存储介质,开发新的存储技术,逐渐从硅基,向非硅基转变。

1、原子存储

在1959年,美国物理学家理查德费曼就提出过原子存储的概念。

在1990年,人们就能够掌握了控制原子的能力,物理学家DonEigler利用扫描隧道电子显微镜将35个氙原子排列成“IBM"字样。

在2012年IBM发现原子存储能够使得存储密度达到现有材料的100倍。

2016《自然纳米技术》报道称,理论上该技术能够在一平方英寸(大约一个SD卡大小)中存储500TB的数据。实际0.1平方毫米里已经可以存入1KB数据。

原子存储未来是非常具有前景的。要使得原子可控,必须保持液氦-196℃的低温环境,成本非常高昂。

2、三大存储技术

MRAM(磁性随机存储器)、PRAM(相变存储器)、RRAM(忆阻器)。这三大技术,可能彻底消除硬盘和内存的界限,让硬盘和内存合二为一。

你还在坚持看吗,明天继续数据与程序篇 ,帮各位追“术”小白继续扫盲。

部分图文源自阿里云云栖、百度图片,表示感谢,如有版权问题,请联系本人。




推荐阅读
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
author-avatar
安彬2502936127
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有