MogileFS
分布式存储:
不能mount,基于API进行存储
分布式文件系统:(把存储空间抽象成文件格式的存储)
可以mount,基于VFS接口访问
常见的分布式文件系统
GFS:适合存储少量大文件
HDFS:适合存储少量大文件
TFS:淘宝FS,在名称节点上将元数据存储于关系型数据中,文件数量不在受限于名称节点的内存
空间,可以存储海量小文件
TFS:腾讯FS(为开源)
Lustre:Oracle,企业级应用,重量级
GlusterFS:
MooseFS:基于FUSE的格式,可以挂载
Mogilefs:存储海量小数据(文件的源数据存放在mysql数据库中)
FastDFS:C语言研发 Mogilefs的克隆版
Perlbal:高性能的反向代理服务器(类似nginx)
mogilefs特性
1.应用层提供服务,不需要使用核心组件(仍然借助本地的文件系统工作),文件一般不切割
2.无单点
MogStored:存储多个数据副本;
Tracker:多节点;
Database:MySQL, ...
3.自动文件复制:复制的最小单位不是文件,而是class (保存多个文件副本)
4.传输中立:无特殊协议,可以通过NFS或HTTP实现通信
5.简单的命名空间:没有目录,直接存在存储空间上,通过域(名称空间)来实现
domain,class,fid(key)
6.不共享任何数据:
元数据:db
数据:mogilefs 副本
7.不需要RAID
mogilefs角色
Tracker:
MogStored:存储数据副本;WEBDAV.
DB:存储元数据.
tracker
MogileFS的核心,是一个调度器,服务进程为mogilefsd
监听端口为7001
Database
数据库
mogstored
数据存储的位置,通常是一个HTTP(webDAV)服务器,
用来做数据的创建(put)、删除(delete)、获取(get),监听端口7500
mogilefs管理的几个概念
domain:一个mogilefs可以有多个domain
用来存放不同的文件
同一个domain内,key必须唯一
不同domain内,key可以相同
class:文件属性管理,定义文件存储在不同设备上的份数,最小复制单元
domain + fid 定位文件
mogilefs工作流程图