存储系统
提供了读写与控制接口,能够安全有效地把数据持久化的软件,即为存储系统。
从存储层次结构来说,体积越小,读写速度越快,相应的价格就越昂贵。
关键字:缓存,减少拷贝,抽象统一的接口提问:单机存储系统如何做到“三高”? (高性能、高性价比、高可靠性)
使用RAID技术
使用多块较小磁盘组合,较便宜;
多块磁盘并发性能更好;
多块磁盘可以构成镜像盘,提高其容错性;数据库
分为关系型与非关系型
关系型数据库
特点:
结构化数据友好
支持事务(ACID)
支持SQL(复杂的查询语言)
产品:MYSQL,PostgreSQL(开源)、Oracle(商业化,收费)
非关系型数据库
特点:
半结构化数据友好
可能支持事务(ACID)
可能支持SQL(复杂的查询语言)
产品:Redis、Elasticsearch、MongoDB提问:何为“ACID”?
原子性
持久性
隔离性
一致性
单机存储与分布式存储
单机存储:单个计算机上的软件存储系统,一般不涉及网络交互
使用本地文件系统,以及k-v存储
Linux经典哲学---一切皆文件
Linux两大数据结构:iNode dEntry
k-v存储:常用put(k,v),get(k);常见数据结构:LSM-Tree(牺牲读性能,追求写入性能)
分布式存储:在单机存储基础上实现了分布式协议,有大量的网络交互
大数据时代的基石--HDFS
HDFS特点:
支持海量存储;高容错性;弱POSIX语义;使用普通X86服务器,性价比高。
开源分布式的万金油---Ceph
核心特点:支持对象、块、文件接口,万事万物皆对象; 数据写入采用主备复制模型;数据分布模型采用CRUSH算法(Hash+权重+随机抽签)