认识存储与数据库 | 青训营笔记

123 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天

一、本堂课的知识要点有哪些?

  1. 经典案例:小明新注册了一个账号,数据具体是如何产生,如何保存到存储/数据库系统的;
  2. 存储系统的定义、特点,存储器层级结构、RAID 技术、关系型数据库及其特点,非关系型数据库特点;
  3. 主流存储/数据库产品剖析:单机存储、分布式存储、单机关系型数据库、单机非关系型数据库和分布式数据库;
  4. 新技术演进:新架构、新硬件、SPDK、AI。

二、本堂课介绍了哪些知识点?

  1. 存储系统的定义:一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统。
  2. 存储系统的特点:性能敏感,容易受到硬件影响,代码既简单又复杂。
  3. 关系(Relation):就是集合,即任意元素组成的若干有序偶对,反应了事物之间的关系。
  4. 关系代数:对关系做运算的抽象查询语言(交、并、笛卡尔积......。
  5. SQL:方便人类阅读的关系代数表达形式。
  6. 关系型数据库特点:结构化数据友好、支持事务、支持复杂查询语句。
  7. 非关系型数据库特点:半结构化数据友好、可能支持事务 (ACD)、可能支持复杂查询语言。
  8. 事务的特性:
    • A(tomicity),事务内的操作要么全做,要么不做
    • C(onsistency),事务执行前后,数据状态是一致的
    • I(solation),可以隔离多个并发事务,避免影响
    • D(urability),事务一旦提交成功,数据保证持久性
  9. 单机存储:本地文件系统(Linux,一切皆文件),key-value 存储(一切皆 kv)。
  10. 分布式存储:在单机存储基础上实现了分布式协议,涉及大量网络交互(分布式文件系统 HDFS,分布式对象存储 Ceph)。
  11. HDFS 核心特点:
    • 支持海量数据存储;
    • 高容错性;
    • 弱 POSIX 语义;
    • 使用普通 x86 服务器,性价比高;
  12. Ceph 的核心特点:
    • 一套系统支持对象接口、块接口、文件接口,但是一切皆对象;
    • 数据写入采用主备复制模型;
    • 数据分布模型采用 CRUSH 算法
  13. 单机数据库:单个计算机节点上的数据库系统,事务在单机内执行,也可能通过网络交互实现分布式事务(关系型数据库,非关系数据库)。

四、个人总结:

这章介绍了存储系统和数据库的区别,然后介绍了一些主流的单机和分布式系统,个人感觉这节课内容偏向概述,如果之前学过数据库的话,这部分内容其实是比较熟悉的。

五、我参考了哪些外部资料?