这是我参与「第三届青训营 -后端场」笔记创作活动的第4篇笔记
存储系统
一个提供了读写,控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统
作为后端软件的底座,性能敏感
存储系统软件架构,容易受硬件影响
-
缓存:很重要,贯穿整个存储体系
-
拷贝:很昂贵,应该尽量减少
硬件设备五花八门,需要抽象统一的接口
关系型数据库中的关系=集合=任意元素组成的若干有序偶对反应了事物间的关系
关系型数据库是存储系统,但是在存储之外,又发展出其他能力
非关系型数据库也是存储系统,但是一般不要钱严格的结构化
数据库VS经典存储
优势 1.结构化数据管理 能以表形式管理,写入文件,自行定义管理结构
2.事务能力 事务具有:
A(tomicity),事务内的操作要么全做,要么不做
C(onsistency),事务执行前后,数据状态是一致的
I(solation),可以隔离多个并发事务,避免影响
D(urability),事务一旦提交成功,数据保证持久性
3.复杂查询能力
能带条件查询数据
单机存储
单机存储 - 单个计算机节点上的存储软件系统,一般不涉及网络交互
本地文件系统:
文件系统的管理单元是文件
文件系统繁多,但遵循VFS的统一抽象接口
kv存储
分布式存储
在单机存储基础上实现了分布式协议,涉及到了大量的网络交互
HDFS
特点:
-
支持海量数据存储
-
高容错性
-
弱POSIX语义
-
使用普通x86服务器,性价比高
Ceph
特点:
一套系统支持对象接口,块接口,文件接口,但是一切皆是对象
数据写入采用主备复制模型
数据分布模型采用CRUSH算法