前面对mogileFS做了一下简单介绍,这儿开始对他进行剖析。
首先剖析他用来做文件西信息track的表结构。
使用到的数据表
- server_settings
服务器的一些配置信息,采用key=>value的记录方式保存。
- domain
域定义
- hosts
主机定义,主机的ip,存储节点服务所开的端口等信息。
- device
主机上的可用设备定义,包括设备可用空间,使用的权重等信息,由存储服务定时更新设备的情况。
- class
文件分类定义
- file
记录文件的基本信息,属于什么类别,他的key和文件大小等信息
- tmpfile
复制的临时文件信息?
- file_to_delete
记录要做删除的文件
- file_to_delete_later
要延迟删除的文件
- file_on
记录什么设备上有什么文件,一个文件在不同设备上的存储各有一条记录。
- file_on_corrupt
损坏的文件,哪一个文件在什么设备上损坏了。
- file_to_replicate
要做分发的文件,记录来源设备,失败次数和下次重试的时间等信息。
- fsck_log
文件检查日志
- unreachable_fids
不可到达的文件列表
mogileFS是一个依赖数据库做数据信息交换的系统,为了减少DB的操作次数,使用了memcached做一些查询结果的缓冲。