第一代数据库(20 世纪 60 年代)

层次数据结构

本质是 ,节点代表实体,边代表关系,一个子节点只能对应一个父节点,允许没有子节点,查询时需要从根节点开始遍历子节点,节点需要存储大量冗余数据,不利于多对多的查询。

例子

1969,IBM 公司的 IMS(Information Management System)

1
2
3
4
5
6
7
公司
├── 部门A
│ ├── 员工A1
│ ├── 员工A2
├── 部门B
├── 员工B1
├── 员工B2

网状数据模型

本质是 有向图,用网状结构表示各类实体及其间的联系,节点表示实体,边表示实体间的关系。一个节点可以有多个子节点和父节点,简化了层次数据模型多对多查询,但是被后来的关系模型取代。

例子

1970,CODASYL(Conference On Data System   Language)下属的数据库任务组 DBTG(Data Base Task Group)提出 DBTG 报告

网状数据模型

第二代数据库(70-80 年代)

关系数据模型

关系型数据库(mysql,pgsql 等),由 关系数据结构关系操作关系完整性约束 组成。

第三代数据模型(80 年代后)

复杂数据模型

4 个特点

  • 一维到多维,结构化到非结构化,如 neo4j
  • 普通静态查询到媒体查询(视频、音频)
  • 并发控制,故障恢复
  • 数据分析与推理

第三代数据库宣言:1990 年美国高级 DBMS 功能委员会发表《第三代数据库系统宣言》,提出了第三代数据库管理系统应有三个基本特征:

  • 应支持数据管理、对象管理和知识管理。
  • 保持或继承第二代数据库系统的技术。
  • 对其它系统开放

数据库的学科含义

数据库技术是研究 组织、存储和应用 数据一门学科。

数据模型三个层次(三层模式):
概念数据模型:面向用户
逻辑数据模型:面向 DBMS
物理数据模型:面向计算机

数据库技术的外延

如今大数据时代,仅仅靠 DBMS 是不够的,首先现在大多数数据类型都从简单的一维数据转变为多维数据,结构化数据转换为非结构化数据,而且负载,事务和并发控制已经无法满足时代的发展了,这个时代有很多种数据,现在 Nosql 是主流,数据库从单机转变成集群(HDFS,Amazon S3),服务器也从单机转变为集群(Hadoop),分布式系统不仅提高负载和保证数据稳定性的同时,也提高了数据的查询效率。

数据科学与工程范畴

1
数据采集 --> 数据管理 --> 数据应用

一些复杂的数据库类型(都是存储一些复杂数据结构)

数据库类型主要特点应用场景示例数据库
OODB面向对象,支持复杂数据结构CAD、GIS、多媒体数据库ObjectDB、db4o
TDB支持时间维度和数据历史管理金融、医疗、供应链Oracle、PostgreSQL
SDB专注于空间数据和地理计算地图、导航、城市规划、环境监测PostGIS、Oracle Spatial

数据管理

结构化数据管理:一般使用关系型数据库即可,一般关系都是规定好的,即二维数组。

非结构化数据管理:数据类型位置多样的,关系不能用简单的关系模型表示,如图数据,知识图谱(neo4j),其实知识大模型也算,根据文档内容,生成对应的解答,比如说 MaxKB,这是一款飞致云的一款知识库问答系统,它也通过上传文档/爬取文档的形式,对数据进行采集、清洗(文本划分,向量化,RAG)之后存到本地 pgsql 中,对接第三方的大模型引用,然后接入业务系统当中,实现文档 GPT 的功能。

文本划分:故名思意就是把句子划分成多个词

向量化:就是提取特征词,统计词频

RAG:生成增强技术智能检索技术,结合了 信息检索(IR)

课后习题

  1. 请谈谈你对数据科学内涵和外延的理解。

    答:内涵:数据科学主要以数据采集、数据管理、数据应用为核心,它的生命周期主要是获取数据后进行数据预处理、数据清洗,将数据存储到数据库中(通常是 Nosql),对接第三方应用,起到信息检索,信息可视化等作用。外延:单纯的 DBMS 不满足时代的需要,如今大数据时代,数据逐渐从一维转变成多维,结构化转变为非结构化,现在更倾向于搭建分布式数据库和服务器集群来保证数据节点的稳定性、高可用性、高负载以及高并发等等。

  2. 请从数据库技术发展,谈谈数据科学的知识体系。

    答:数据库从层次、网状模型到关系模型再到复杂模型,数据从一维转变到多维,结构化转变到非结构化。数据科学知识体系主要由数据采集,数据管理和数据应用为核心。数据采集主要为爬虫,预处理,分词分段,特征化,向量化等等,数据管理主要为数据库存储,分布式存储等,数据应用主要为接入大模型,知识图谱等等。