主流存储产品剖析
1.单机存储
单个计算机节点上的存储软件系统(不涉及网络交互)例子:本地文件系统,key-value存储
本地文件系统
Linux:一切皆文件,遵循VFS的统一抽象接口
Linux文件系统的两大数据结构Index Node & Directory Entry
Index Node
记录文件元数据。
inode是一个文件的唯一标识。
inode的总数在格式化文件系统就固定了
Directory Entry
记录文件名
inode指针
dentry是内存结构,与inode的关系是N:1(hardlink的实现)
key-value存储
常见使用方式:put(k,v)&get(k)
常见数据结构:LSM-Tree牺牲读性能,追求写入性能
2.分布式存储
在单机存储基础上实现分布式协议,涉及大量网络交互 例子:分布式文件系统,分布式对象存储
分布式存储--HDFS(大数据时代的基石)
支持海量数据存储
高容错性
弱POSIX语义
性价比高
Ceph:开源分布式存储系统
一切皆为对象,支持对象接口、块接口、文件接口
数据写入采用主备复制模型
数据分布模型采用CRUSH算法
3.单机数据库
单个计算机节点上的数据库系统 例子:关系型数据库、非关系数据库
Oracle称王。开源产品MySQL&PostgreSQL称霸
非关系型数据库
MongoDB、Redis、Elasticsearch三足鼎立
4.分布式数据库
背景:单机数据库容量、弹性(扩容缩容)解决方式,使用“池化”增减扩容、性价比问题,促进分布式数据库发展。