这是我参与「第五届青训营」伴学笔记创作活动的第 17 天
课程1-认识存储与数据库
存储系统的特点:
a.作为后端软件的底座,性能敏感
b.存储系统软件架构,容易受硬件影响
c.存储系统代码,既简单又复杂
【缓存】很重要,贯穿整个存储体系
【拷贝】很昂贵,应该尽量减少
存储系统-RAID技术:高性能/高性价比/高可靠性
RAID出现的背景:
a.单块大容量磁盘的价格 > 多块小容量磁盘
b.单块磁盘的写入性能 < 多块磁盘的并发写入性能
c.单块磁盘的容错能力有限,不够安全
课程2-主流存储产品剖析
时代背景:专用的高级硬件很贵,同时数据存量很大,要求超高吞吐
HDFS核心特点:
a.支持海量数据存储
b.高容错性
c.弱POSIX语义
d.使用普通x86服务器,性价比高
Ceph:开源式分布存储系统里的万金油:
a.一套系统支持对象接口、块接口、文件接口,但一切皆为对象
b.数据写入采用主备复制模型
c.数据分布模型采用CRUSH算法
课程3-存储与数据库的新技术演进
SPDK:
a.Kernal Space->User Space。避免syscall带来的性能损耗,直接从用户态访问磁盘
b.中断->轮询。磁盘性能提高后,中断次数随之上升,不利于IO性能;SPDK poller可以绑定固定的cpu核不段轮训,减少cs,提高性能
c.使用无锁数据结构。使用Lock-free queue,降低并发时的同步开销