这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天
一、本堂课的知识要点有哪些?
- 经典案例:小明新注册了一个账号,数据具体是如何产生,如何保存到存储/数据库系统的;
- 存储系统的定义、特点,存储器层级结构、RAID 技术、关系型数据库及其特点,非关系型数据库特点;
- 主流存储/数据库产品剖析:单机存储、分布式存储、单机关系型数据库、单机非关系型数据库和分布式数据库;
- 新技术演进:新架构、新硬件、SPDK、AI。
二、本堂课介绍了哪些知识点?
- 存储系统的定义:一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统。
- 存储系统的特点:性能敏感,容易受到硬件影响,代码既简单又复杂。
- 关系(Relation):就是集合,即任意元素组成的若干有序偶对,反应了事物之间的关系。
- 关系代数:对关系做运算的抽象查询语言(交、并、笛卡尔积......。
- SQL:方便人类阅读的关系代数表达形式。
- 关系型数据库特点:结构化数据友好、支持事务、支持复杂查询语句。
- 非关系型数据库特点:半结构化数据友好、可能支持事务 (ACD)、可能支持复杂查询语言。
- 事务的特性:
- A(tomicity),事务内的操作要么全做,要么不做
- C(onsistency),事务执行前后,数据状态是一致的
- I(solation),可以隔离多个并发事务,避免影响
- D(urability),事务一旦提交成功,数据保证持久性
- 单机存储:本地文件系统(Linux,一切皆文件),key-value 存储(一切皆 kv)。
- 分布式存储:在单机存储基础上实现了分布式协议,涉及大量网络交互(分布式文件系统 HDFS,分布式对象存储 Ceph)。
- HDFS 核心特点:
- 支持海量数据存储;
- 高容错性;
- 弱 POSIX 语义;
- 使用普通 x86 服务器,性价比高;
- Ceph 的核心特点:
- 一套系统支持对象接口、块接口、文件接口,但是一切皆对象;
- 数据写入采用主备复制模型;
- 数据分布模型采用 CRUSH 算法
- 单机数据库:单个计算机节点上的数据库系统,事务在单机内执行,也可能通过网络交互实现分布式事务(关系型数据库,非关系数据库)。
四、个人总结:
这章介绍了存储系统和数据库的区别,然后介绍了一些主流的单机和分布式系统,个人感觉这节课内容偏向概述,如果之前学过数据库的话,这部分内容其实是比较熟悉的。