搜索技术入门到精通

Wednesday, January 10, 2007

第三章 并行分布式文件系统 Parallel Distributed File System

搜索的引擎的存储规模至少都是TB级别,如何有效地管理和组织这些资源呢?并且在极短的时间内得出结果?MapReduce: Simplified Data Processing on Large Clusters 给出了很好的分析。

分布式文件系统的实施必须实现两种临界资源的接口,一个是文件名到命名空间的映射表,另外一个是块表对应到结点机器列表。其中命名空间表示的是文件名到一组机器的映射,具体hash函数可能需要看命名空间的规模,其实就是一个Map过程;其中块表到机器列表的对应,实际是一个Reduce过程,分块存储到控制下的机器群(inodes),换句化说是slave-master的架构,通信的方式越底层的协议执行起来效率越高。具体实现可以参照hadoop。
当然需要考虑的还有很多的细节问题,比如inode机器的turn up 和 turn down,实时地识别这些出现的新机器,关掉的机器也自动地从列表中删除;备份数据个数的选择,备份之间的负载平衡;inode的配置文件的维护;对于终端的用户来说,文件系统虚拟化;

No comments: