Chinaunix

标题: KevinWang:请教几个问题! [打印本页]

作者: happy_fish100    时间: 2009-02-21 11:44
标题: KevinWang:请教几个问题!
KevinWang:
本人刚开始接触DFS , 努力学习FastDFS中.
请教一下关于FastDFS的几个问题:
1. stat.total_get_meta_count: stat.success_get_meta_count:中 . meta data 的数据结构的含义是什么? meta data 中具体存放什么内容?
2. FastDFS 是否 具有MogileFS的 Query 的功能? 便于查找出文件在哪些Storage中?

happy_fish100:
>> 1. stat.total_get_meta_count: stat.success_get_meta_count:中 . meta data 的数据结构的含义是什么? meta data 中具体存放什么内容?
meta data就是文件的附加属性,例如图片文件宽度、高度、作者等信息。采用key value pair(键值对)方式。

>> 2. FastDFS 是否 具有MogileFS的 Query 的功能? 便于查找出文件在哪些Storage中?
请阅读我整理的帖子“FastDFS和MogileFS的对比”。
FastDFS比起MogileFS,少了一个角色,就是存储文件索引的数据库,这也是FastDFS的优势所在。
不知道解答清楚没有。如果还有其他疑问,请随时与我联系。


KevinWang:
谢谢版主 这么及时的回复!
我想再深入问一下 第2个问题.
相对于MogileFS来讲, FastDFS减少了MySQL的存储文件索引的数据库. 那这样的话, 假如我想去查找(Query)一个文件是否已经在Storage中存在, 具体存放再哪些Storage中.  这样的功能 MogileFS能实现么?  如果实现的话,  是以什么样的存储方式来代替的MySQL数据库的呢?
这里先谢版主了! 呵呵


happy_fish100:
出于简洁和性能考虑,FastDFS没有存储文件索引,也没有使用数据库。文件上传成功后,FastDFS会返回组名和文件名给客户端,客户端需要将组名和文件保存在自己的数据库中。
按照FastDFS的设计,因为文件名是由服务器端生成,而不是客户端指定的,并且服务器端返回的文件名中包含了文件在服务器上存放的路径和文件名信息,所以FastDFS不需要文件名对照表或索引表。
MogileFS是有文件名对照表或索引表的,好像用的是Mysql数据库。它具体如何实现的,细节我并不了解。你可以搜索一下相关文档。

KevinWang:

版主这么一解释, 我似乎又明白了一些.
我再好好学习下FastDFS,  努力再啃啃代码.
有什么问题再请教你!
真是谢了!

happy_fish100:
DFS相关文章中前面几篇文章都是FastDFS的技术文档,包括文件同步机制、目录结构和文件格式、通讯协议等等,相信对你会有比较大的帮助。有问题随时沟通。
作者: happy_fish100    时间: 2009-02-21 11:45
标题: zhgbcx:文件名索引的问题
zhgbcx:
“客户端需要将组名和文件保存在自己的数据库中”,难道客户端需要连接数据库去保存文件路径信息。
 另外如果其它客户端要读取这个文件他该如何获取这个文件的路径呢?
谢谢!

happy_fish100:
组名和文件名合并起来就是文件标识,需要客户端保存文件标识。
另外,文件名中包含了服务器端的存放路径。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2