【day17】ClickHouse - 带你认识存储的本质 - 状态 | 青训营笔记

78 阅读1分钟

这是我参与「第五届青训营」伴学笔记创作活动的第 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,降低并发时的同步开销