三、主流产品剖析
3.主流的存储&数据库系统架构——经典产品剖析:
单机存储——本地文件系统:
- Linux经典哲学:一切皆文件;
- 文件系统的管理单元:文件;
- 文件系统接口:文件系统繁多,如Ext2/3/4, sysfs, rootfs等, 但都遵循VFS的统一抽象接口;
- Linux文件系统的两大数据结构: Index Node & Directory Entry;
3.1单机存储一key-value存储
世间一切皆key-value
key是你身份证,value是你的内涵 : )
常见使用方式: put(k, v) & get(k)
常见数据结构: LSM-Tree,某种程度上牺牲读性能,追求写入性能
拳头产品: RocksDB
3.2分布式存储=在单机存储基础上实现了分布式协议,涉及大量网络交互
分布式文件系统——HDFS
时代背景:专用的高级硬件很贵,同时数据存量很大,要求超高吞吐。
HDFS核心特点:
- 支持海量数据存储;
- 高容错性;
- 弱POSIX语义;
- 使用普通x86服务器,性价比高。
3.2分布式存储一Ceph
Ceph :开源分布式存储系统里的「万金油」
Ceph的核心特点:
- 一套系统支持对象接口、块接口、文件接口;
- 但是一切皆对象;
- 数据写入采用主备复制模型;
3.3分布式对象存储;
3.3.1分布式数据库一解决容量问题
单点容量有限,受硬件限制 ->存储节点池化,动态扩缩容
3.3.2分布式数据库-解决弹性问题
CPU资源紧张,不够用了,扩容,-> 扩容成功,访问新数据库->缩容成功。
3.3.3分布式数据库一More to Do
单写vs多写; 从磁盘弹性到内存弹性; 分布式事务优化。