SQL 必知必会
陈旸
清华大学计算机博士
73337 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 50 讲
第一章:SQL语法基础篇 (19讲)
SQL 必知必会
15
15
1.0x
00:00/00:00
登录|注册

02丨DBMS的前世今生

微软开发的商业数据库
1989年诞生
被Oracle收购,导致MariaDB分支项目的诞生
开源数据库
1995年诞生
商用RDBMS
1979年诞生
NoSQL对SQL的补充
NoSQL的功能演变
SQL Server
MySQL
Oracle
Solr
Splunk
Elasticsearch
MongoDB
Redis
SQL Server
MySQL
Oracle
NoSQL阵营
SQL阵营
图形数据库
列式数据库
搜索引擎
文档型数据库
键值型数据库
MongoDB
DB2
PostgreSQL
SQL Server
MySQL
Oracle
包括数据库、DBMS和DBA
DataBase System
存储数据的集合
DataBase
管理多个数据库
DataBase Management System
商业化竞争不断,Oracle等DBMS诞生
SEQUEL改名为SQL
1974年,IBM研究员发表SEQUEL论文
SQL阵营中的DBMS
SQL阵营与NoSQL阵营
NoSQL
主流的DBMS
DBS
DB
DBMS
SEQUEL
DBMS的前世今生

该思维导图由 AI 生成,仅供参考

上一讲我们介绍过两个 IBM 研究员在 1974 年发表了一篇有关结构化英语查询语言的论文,并将这门语言命名为 SEQUEL。SEQUEL 的语言标准是开放的,但是围绕它的商业化竞争却从来没有停止过。首先因为商标之争,SEQUEL 改名为 SQL,后来有一个重量级的公司基于那篇论文研发出了商业化的数据库管理软件,这就是 Oracle。自此之后,又诞生了一堆大家熟知的 DBMS,比如 MySQL、SQL Server、PostgreSQL、DB2 和 MongoDB 等。
我们今天了解一下这些数据库管理软件,也就是 DBMS。为什么需要了解它们呢?因为在工作中,我们通常都是和这些数据库管理软件打交道,只不过 SQL 是它们的通用语言。
今天我们先从 SQL 语言中跳脱出来,来分析下这些 DBMS。关于今天的内容,你可以从以下几个方面进行思考:
主流的 DBMS 都有哪些,它们各自都有哪些特点;
既然 SQL 是通用的标准语言,为什么能存在这么多 DBMS;
从这些 DBMS 的发展史中,你有哪些感悟。

DB、DBS 和 DBMS 的区别是什么

说到 DBMS,有一些概念你需要了解。
DBMS 的英文全称是 DataBase Management System,数据库管理系统,实际上它可以对多个数据库进行管理,所以你可以理解为 DBMS = 多个数据库(DB) + 管理程序。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

DBMS的前世今生 DBMS,即数据库管理系统,是对多个数据库进行管理的程序。主流的DBMS包括Oracle、MySQL、SQL Server、PostgreSQL、DB2和MongoDB等。它们分为关系型数据库和非关系型数据库(NoSQL),使用SQL或其他查询语言。尽管SQL一直占据主导地位,但NoSQL在云计算时代的快速读写等方面提供了补充。在SQL阵营中,Oracle、MySQL和SQL Server是最主流的DBMS,分别适用于大型企业、开源用户和微软用户。这些DBMS的发展历程反映了它们的商业化价值和用户价值,以及不同用户场景下的需求。 1974年,SEQUEL论文发表,标志着DBMS的发展起步。随后,商用关系型数据库Oracle 2和开源数据库MySQL相继诞生,NoSQL也得到了发展。DBMS的竞争从未停止,不同公司和用户在不同应用场景下选择不同的DBMS。Oracle适合大型企业,Access适用于轻量级的桌面数据库,而MySQL和MariaDB则是免费开源的选择。同时,NoSQL阵营的键值型、文档型、搜索引擎、列式数据库和图形数据库也需要了解。 这篇文章梳理了DBMS的发展历程,强调了不同DBMS在不同场景下的应用。读者可以从中了解到不同DBMS的特点和适用场景,以及DBMS的多样性是如何满足不同用户需求的。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《SQL 必知必会》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(78)

  • 最新
  • 精选
  • 猴子哥🐒
    置顶
    老师好,文章中的思维导图是否用xmind做的呢?能否在以后的课程中将源文件上传上来呢?

    作者回复: 可以 我放到这里了 https://github.com/cystanford/SQL-XMind

    2019-06-14
    34
  • 格非
    置顶
    @王鹏飞Tbb,我的理解是:列式数据库将数据按照列进行存储,因为每列的数据格式是相同的,在存储过程时,可以使用有效的压缩算法进行压缩存储,在读取时,可以只读取需要的列到内存中,但如果是行式数据库,就需要将整行数据读入内存中,所以说列式数据库按照列式存储数据会大量降低系统的IO

    作者回复: 对的 大家都可以看下这个回答

    2019-06-14
    5
    114
  • _你说了不算
    置顶
    老师好,文章中有句话不太理解,“列式数据库是将数据按照列存储到数据库中,这样做的好处是可以大量降低系统的 I/O”,这里降低系统I/O,老师能解释下吗?

    作者回复: 行式存储是把一行的数据都串起来进行存储,然后再存储下一行。 同样,列式存储是把一列的数据都串起来进行存储,然后再存储下一列。 这样做的好处,就是相邻的数据的数据类型是一样的,因此也更容易压缩。压缩之后就自然降低了IO

    2019-06-14
    4
    200
  • 逗逼师父
    按照我的使用频率排序:MySQL,Redis, MongoDB, ES, MariaDB, SQLite, PostgreSQL, Oracle 平时就是MySQL用的最多,NoSQL中Redis和MongoDB容易上手,ES这个鬼就很折磨人,查询语句变态,瞬间能够明白为啥NoSQL最终演化为了No, SQL 。虽然MongoDB容易很多,但是它也是专有的查询语言,如果遇到因某种原因要跟换底层数据库的时候,很可能意味着要重写比较多的代码。 我个人理解SQL就像面向对象里的接口,而各个DBMS是具体的实现。

    作者回复: 多谢分享

    2019-06-14
    47
  • 疯狂青蛙
    刚毕业时使用delphi开发,当时用的就是sql server 2000,因为express版本有存储的大小限制,直接用的企业版本,后来转.net开发后做医疗产品,开始接触oracle,医院数据信息量很大,稳定性要求很高,当时数据库90%都是oracle,也有一些老项目用的DB2,再后来从事互联网+医疗产品开发,服务云化,开始使用mysql做存储管理,这期间还涉及了MongoDB的开发,在特定的文档存储上使用MondoDB。

    作者回复: 很好的经历分享

    2019-06-14
    20
  • leslie
    主流关系型数据库:作者似乎漏了sybase吧。sybase和sql server 最初是差不多的东西:他们最初的关系和今天的mysql类似,唯一的区别是两家都是商业型数据库,mysql的分支是开源。 因为一些事情分成了两家,故而非常明显的是两者对T-SQL一直支持率非常高。深入学习sql server挖过它的历史:2010刚好公司两种数据库同时使用和维护时用过一段sybase,利用sql server的基础去学习几乎非常轻松。

    作者回复: 对的 感谢分享

    2019-06-14
    15
  • 川杰
    请问时序数据库主要用于什么场景?

    作者回复: 主要存储时间序列的信息,后续可以应用于时间序列预测等场景,主要是字段特征中有时间这个维度,比如股市的预测,比特币预测等,也可以预测交通流量,PM2.5,都是包含有时间维度的

    2019-06-14
    2
    13
  • 未来的胡先森
    用过的数据库管理系统有:Access、SQL server、MySQL。 对于 SQL 语言统一但是还是有这么多 DBMS ,我的认为是: 各个公司都在某一方面开发了自己独特的功能或特色,大公司都不愿意在数据库这一重要领域失去自己的市场份额,而单一的数据库并不能满足所有的市场需求最终诞生了不同的 DBMS,为了降低用户更换软件的成本都遵循了 SQL 的标准。

    作者回复: 对的 都遵循SQL标准,但在实现的方式上各有特色,同时针对不同的使用场景有不同的解决方案

    2019-06-14
    12
  • 君莫惜
    SQL值的是关系型数据库(Mysql,sql server,oracle) NoSQL包括: 键-值数据库(Redis)、文档型数据库(MongoDB)、搜索引擎数据库(electsearch)、列式存储型数据库

    作者回复: 对的

    2019-06-14
    9
  • 山水人天
    报告老师,我有问题:acess 适用于什么规模的软件开发呢?如果开发的数据库需求大概在两万条数据左右的话,使用acess能否满足要求?

    作者回复: 可以了,数据量级不大的情况下 用Access OK的

    2019-06-14
    4
    5
收起评论
显示
设置
留言
78
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部