数据库系统概念系列 - 数据库系统的历史

从商业计算机的出现开始,数据处理就一直推动着计算机的发展。事实上,数据处理自动化早于计算机的出现。Herman Hollerith 发明的穿孔卡片,早在20世纪初就用来记录美国的人口普查数据,并且用机械系统来处理这些卡片和列出结果。穿孔卡片后来被广泛用作将数据输入计算机的一种手段。

在这里插入图片描述

数据存储和处理技术发展的年表如下:

  • 20世纪50年代和20世纪60年代初: 磁带被用于数据存储。诸如工资单这样的数据处理已经自动化了,数据存储在磁带上。数据处理包括从一个或多个磁带上读取数据,并将数据写回到新的磁带上。数据也可以由一叠穿孔卡片输入,而输出到打印机上。例如,工资增长的处理是通过将增长表示到穿孔卡片上,在读入一叠穿孔卡片时同步地读入保存主要工资细节的磁带。记录必须有相同的排列顺讯。工资的增加额将被加入到从主磁带读出的工资中,并被写到新的磁带上,新磁带将成为新的主磁带。
    磁带(和卡片组)都只能顺序读取,数据规模可以比内存大得多,因此,数据处理程序被迫以一种特定的顺序来对数据进行处理,读取和合并来来自磁带和卡片组的数据。

在这里插入图片描述

  • 20世纪60年代末和20世纪70年代: 20世纪60年代末硬盘的广泛使用极大地改变了数据处理的情况,因为硬盘允许直接对数据进行访问。数据在磁盘上的位置是无关紧要的,因为磁盘上的任何位置都可在几十毫秒内访问到。数据由此摆脱了顺序访问的限制。有了磁盘,我们就可以创建网状和层次的数据库,它可以将表和树这样的数据结构保存在磁盘上。程序员可以构建和操作这些数据结构。

    📒 由 Codd[1970] 撰写的一篇具有里程碑意义的论文定义了关系模型和在关系模型中查询数据的非过程方法,由此关系型数据库诞生了。关系模型的简单性和能够对程序员屏蔽所有实现细节的能力具有真正的诱惑力。随后,Codd 因其所做的工作获得了声望很高的 ACM 图灵奖。

在这里插入图片描述

  • 20世纪80年代: 尽管关系模型在学术上很受重视,但是最初并没有实际的应用,这是因为它被认为性能不好;关系型数据库在性能上还不能和当时已有的网状和层次数据库相提并论。这种情况直到 System R 的出现才得以改变,这是 IBM 研究院的一个突破性项目,它开发了可以构造高效的关系型数据库系统的技术。Astrahan 等[1976] 和 Chamberlin 等 [1981] 给出了关于 System R 的很好的综述。完整功能的 System R 原型导致了 IBM 的第一个关系型数据库产品 SQL/DS 的出现。与此同时,加州大学伯克利分校开发了 Ingres 系统。它后来发展成具有相同名字的商品化关系数据库系统。最初的商品化关系型数据库系统,如 IBM DB2、Oracle、Ingres 和 DECRdb,在推动高效处理声明性查询的技术上起到了主要的作用。到了20世纪80年代初期,关系型数据库已经可以在性能上与网状和层次型数据库进行竞争了。关系型数据库是如此简单易用,以至于最后它完全取代了网状/层次型数据库,因为程序员在使用后者时,必须处理许多底层的实现细节,并且不得不将他们要做的查询任务编码成过程化的形式。更重要的,他们在设计应用程序时还要实时考虑效率问题,而这需要付出很大的努力。相反,在关系型数据库中,几乎所有的底层工作都由数据库自动来完成,使得程序员可以只考虑逻辑层的工作。自从在20世纪80年代取得了统治地位以来,关系模型在数据模型中一直独占鳌头。

    📒 在20世纪80年代人们还对并行和分布式数据库进行了很多研究,同样在面向对象数据库方面也有初步的工作。

  • 20世纪90年代初: SQL 语言主要是为决策支持应用设计的,这类应用是查询密集的;而20世纪80年代数据库的支柱是事务处理应用,它们是更密集的。决策支持和查询再度成为数据库的一个主要应用领域。分析大量数据的工具有了很大的发展。

    📒 在这个时期许多数据库厂商推出了并行数据库产品。数据库厂商还开始在他们的数据库中加入 对象 - 关系 的支持。

  • 20世纪90年代: 最重大的事件就是互联网的爆炸式发展。数据库比以前有了更加广泛的应用。现在数据库系统必须支持很高的事务处理速度,而且还要有很高的可靠性和 24 x 7 的可用性(一天24小时,一周7天都可用,也就是没有进行维护的停机时间)。数据库系统还必须支持对数据的 Web 接口。

  • 21世纪第一个十年: 21世纪的最初五年中,我们看到了 XML 的兴起以及与之相关联的 XQuery 查询语言成为了新的数据库技术。虽然 XML 广泛应用于数据交换和一些复杂数据类型的存储,但关系数据库仍然构成大多数大型数据库应用系统的核心。在这个时期,我们还见证了 “自主计算/自动管理” 技术的成长,其目的是减少系统管理开销;我们还看到了开源数据库系统应用的显著增长,特别是 PostgreSQL 和 MySQL。

    📒 在21世纪第一个十年的后几年中,用于数据分析的专门的数据库有很大增长,特别是将一个表的每一列高效地存储为一个单独的数组的列存储,以及为非常大的数据集的分析而设计的高度并行的数据库系统。有几个新颖的分布式数据库存储系统被构建出来,以应对非常大的 Web 节点如 Amazon、Facebook、Google、Microsoft 和 Yahoo!的数据库管理需求,并且这些系统中的某些现在可以作为 Web 服务提供给应用开发人员使用。在管理和分析流数据如股票市场报价数据或计算机网络检测数据方面也有重要的工作。数据挖掘技术现在被广泛部署应用,应用实例包括基于 Web 的产品推荐系统和 Web 页面上的相关广告自动布放。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/183537.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

麒麟KYLINIOS软件仓库搭建02-软件仓库添加新的软件包

原文链接:麒麟KYLINIOS软件仓库搭建02-软件仓库添加新的软件包 hello,大家好啊,今天给大家带来麒麟桌面操作系统软件仓库搭建的文章02-软件仓库添加新的软件包,本篇文章主要给大家介绍了如何在麒麟桌面操作系统2203-x86版本上&…

【1++的Linux】之线程(二)

👍作者主页:进击的1 🤩 专栏链接:【1的Linux】 文章目录 一,对上一篇内容的补充二,Linux线程互斥1. 互斥的引出2. 互斥量3. 剖析锁的原理 一,对上一篇内容的补充 线程创建: pthread…

nginx--install

1. ubuntu 1.1 下载并解压依赖 每个包去各自官网下载 stable 版就行。 tar xzvf nginx-1.24.0.tar.gz tar xzvf openssl-3.1.4.tar.gz tar xzvf pcre2-10.42.tar.gz tar xzvf zlib-1.3.tar.gz1.2 配置及安装 参数含义详见 nginx 官网 cd nginx-1.24.0./configure --pre…

随时随地时时刻刻使用GPT类应用

疑问 很多人说GPT的广泛使用可能会使人们失业,会对一些互联网公司的存活造成挑战,那么这个说法是真的吗? 这个说法并不完全准确。虽然GPT等AI技术的广泛应用可能会对某些行业和职业产生影响,但并不意味着它会导致人们失业或互联网…

Zookeeper3.7.1分布式安装部署

上传安装文件到linux系统上面 解压安装文件到安装目录 [zhangflink9wmwtivvjuibcd2e package]$ tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt/software/3. 修改解压文件名 [zhangflink9wmwtivvjuibcd2e software]$ mv apache-zookeeper-3.7.1-bin/ zookeeper-3.7…

2021年电工杯数学建模B题光伏建筑一体化板块指数发展趋势分析及预测求解全过程论文及程序

2021年电工杯数学建模 B题 光伏建筑一体化板块指数发展趋势分析及预测 原题再现: 国家《第十四个五年规划和 2035 年远景目标纲要》中提出,将 2030 年实现“碳达峰”与 2060 年实现“碳中和”作为我国应对全球气候变暖的一个重要远景目标。光伏建筑一体…

力扣最热一百题——盛水最多的容器

终于又来了。我的算法记录的文章已经很久没有更新了。为什么呢? 这段时间都在更新有关python的文章,有对python感兴趣的朋友可以在主页找到。 但是这也并不是主要的原因 在10月5号我发布了我的第一篇博客,大家也可以看见我的每一篇算法博客…

Canal同步Mysql数据到ES以及Springboot项目查询ES数据

1、环境准备 服务器:Centos7 Jdk版本:1.8 Mysql版本:5.7.44 Canal版本:1.17 Es版本:7.12.1 kibana版本:7.12.1 软件包下载地址:链接:https://pan.baidu.com/s/1jRpCJP0-hr9aI…

Elasticsearch:在 ES|QL 中使用 DISSECT 和 GROK 进行数据处理

目录 DISSECT 还是 GROK? 或者两者兼而有之? 使用 DISSECT 处理数据 Dissect pattern 术语 例子 DISSECT 关键修饰符 右填充修饰符 (->) 附加修饰符 () 添加顺序修饰符( 和 /n) 命名的跳过键(&#xff1f…

LLM之Prompt(一):5个Prompt高效方法在文心一言3.5的测试对比

在Effective Prompt: 编写高质量Prompt的14个有效方法文中我们了解了14个编写Prompt的方法(非常感谢原作者),那么这些Prompt在具体大模型中的效果如何呢?本文以百度文心一言3.5版本大模型在其中5个方法上做个测试对比。 第1条&am…

MySQL复习总结(二):进阶篇(索引)

文章目录 一、存储引擎1.1 MySQL体系结构1.2 存储引擎介绍1.3 存储引擎特点1.4 存储引擎选择 二、索引2.1 基本介绍2.2 索引结构2.3 索引分类2.4 索引语法2.5 SQL性能分析2.6 索引使用2.6.1 最左前缀法则2.6.2 范围查询2.6.3 索引失效情况2.6.4 SQL提示2.6.5 覆盖索引2.6.6 前缀…

linux中if条件判断,case...esac,function学习

第一、 if [ 判断式 ] ; then fi 注意:中括号和判断式之间的空格,否则会报错,上案例 第二个图的12行,中括号和条件判断如果没有空格,则会提示缺号‘】’,如第二个图最上面的提示。所以使用中括号的格式…

ts学习01-开发环境搭建

环境 nodejs 18 npm 安装typescript npm install typescript # 如果上面太慢,可以执行下面的方法 npm install typescript --registryhttps://registry.npm.taobao.orgHelloWorld 新建index.ts console.log("hello ts");执行下面命令进行编译 npx t…

GPT-4V:AI在教育领域的应用

OpenAI于9月25日发布了最新的GPT-4V模型,为ChatGPT引入了语音和图像功能,为用户提供更多元化的使用方式。这次更新将为用户带来更便捷、直观的交互体验,用户可以直接拍照上传并针对照片内容提出问题。OpenAI的最终目标是构建安全、有益的人工…

2.3 - 网络协议 - ICMP协议工作原理,报文格式,抓包实战

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 ICMP协议 1、ICMP协议工作原理2、ICMP协议报文格式…

Linux网络编程04

更高效的零拷贝 发送方过程零拷贝 sendfile 发送文件方的零拷贝,虽然之前我们就可以使用mmap来实现零拷贝但是存在一个方法sendfile也可以直接实现数据从内核区发送到网络发送区socket 直接把内核里面你的文件数据不经过用户态,直接发送给另外一个文件…

如何对ppt文件设置修改权限?

PPT文件会应用在会议、演讲、课件等工作生活中,当我们制作好了PPT之后,保护内容防止在演示时出错是很重要的,那么如何将PPT文件设置成禁止修改模式呢?今天分享几个方法给大家。 方法一 将PPT文件直接保存或者另存为一份文件&…

C++入门学习(1)命名空间和输入输出

前言 在C语言和基本的数据结构学习之后,我们终于迎来了期待已久的C啦!C发明出来的意义就是填补一些C语言的不足,让我们更加方便的写代码,所以今天我们就来讲一下C语言不足的地方和在C中的解决办法! 一、命名空间 在学习…

前端框架Vue学习 ——(五)前端工程化Vue-cli脚手架

文章目录 Vue-cliVue项目-创建Vue项目-目录结构Vue项目-启动Vue项目-配置端口Vue项目开发流程 Vue-cli 介绍:Vue-cli 是 Vue 官方提供的一个脚手架,用于快速生成一个 Vue 的项目模版 安装 NodeJS安装 Vue-cli npm install -g vue/cliVue项目-创建 图…

嬴图 | LLM+Graph:大语言模型与图数据库技术的协同

前言 2022年11月以来,大语言模型席卷全球,在自然语言任务中表现卓越。尽管存在一系列伦理、安全等方面的担心,但各界对该技术的热情和关注并未减弱。 本文不谈智能伦理方面的问题,仅集中于Ulitpa嬴图在应用中的一些探索与实践&a…