Q : 什么是存储系统? A :一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统
特点:
1、作为后端软件的底座,性能敏感
2、存储系统软件架构,容易受硬件影响
3、存储系统代码,简单又复杂
[缓存]很重要,贯穿整个存储体系
[拷贝]很昂贵,应该尽量减少 硬件设备五花八门,需要有抽象统一的接入层
单机存系统怎么做到高性能 / 高性价比 /高可靠性 ?
A : R(edundant) A(rray) of I(nexpensive) D(isks) RAID出现的背景 单块大容量磁盘的价格 >多块小容量磁盘 单块磁盘的写入性能 < 多块磁盘的并发写入性能 单块磁盘的容错能力有限,不够安全
关系: 关系 = 集合 = 任意元素组成的若干有序偶对反应了事物间的关系
特点: 关系型数据库是存储系统,但是在存储之外,又发展出其他能力
单机存储=单个计算机节点上的存储软件系统,一般不涉及网络交互
文件系统的管理单元:文件
文件系统接口:文件系统繁多,都遵循VFS的统一抽象接口
Linux文件系统的两大数据结构:
1、Index Node:记录文件单元数据,如id、权限、磁盘等位置;inode是一个文件的唯一标识,会被存储到磁盘上;inode的总数在格式化文件系统时就固定了
2、Directory Entry:记录文件名、inode指针,层级关机等,dentry是内存结构,与inode的关系是N:1
key-value存储:
常见使用方式:put(k,v)yu get(k)
常见数据结构:LSM-Tree,某种程度上牺牲读性能,追求写入性能
分布式存储=在单机存储基础上实现了分布式协议,设计大量的网络交互
HDFS:大数据时代的基石
核心:
1、支持海量数据存储
2、高容错性
3、弱POSIX语义
4、使用普通x86服务器,性价比高