带你认识存储的本质 | 青训营笔记

13 阅读2分钟

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

带你认识存储的本质

一、本堂课重点内容:

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

  1. 经典案例
  2. 存储&数据库简介
  3. 主流产品剖析
  4. 新技术演进

二、详细知识点介绍:

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

  1. 经典案例
  • 数据的持久化
  1. 存储&数据库简介
  • 存储系统概览
    • 存储系统特点
    • 存储器层级结构
    • 单机存储栈
    • RAID技术
  • 数据库系统概览
    • 关系型数据库特点
    • 非关系型数据库特点
    • 数据库 vs 经典存储
    • 数据库使用方式
  1. 主流产品剖析
  • 单机存储产品
    • 单机文件系统
    • 单机key-value存储
  • 分布式存储产品
    • HDFS
    • Ceph
  • 单机数据库产品
    • 关系型数据库 —— PG、MySQL
    • 非关系型数据库 —— ES、MongoDB、Redis
    • Elasticsearch使用案例
  • 分布式数据库产品
    • 问题与挑战
    • 解决方案
  1. 新技术演进
  • SPDK
  • 人工智能
  • 新硬件加速

三、实践练习例子:

有什么实践举例帮助理解知识点?

  • 写入存储系统的粒度太大,会不会导致数据原子性问题?例如一次性写100MB,如果系统突然crash,会不会只有一部分数据持久化了,另一部分丢失了?如果要解决原子性问题,一般会设计什么机制?

  • 在从应用程序到存储介质的链路上,无论读还是写,数据可能要被拷贝好几次,这几次拷贝能不能去掉?如果我们去掉大部分拷贝操作,会有什么副作用,要怎么缓解副作用?

  • 一个关系型数据库大概率是会被并发访问的,如果要保证并发安全,除了在行数据上加悲观锁还有其他方式吗?

  • 在数据库领域,把数据按行存和按列存各有好处,你能从性能优先的角度设计出一种混合存储格式吗?

四、课后个人总结:

本章有什么知识点不容易掌握?

什么地方容易与其他内容混淆?

五、引用参考:

我参考了哪些外部博客/笔记/文章?

文章中有什么地方是我参考引用了外部博客/笔记/文章的?

六、例文: