为何Google GFS设计成对大文件友好,而像腾讯的TFS(Tencent File System)和淘宝的TFS(Taobao File System)却设计成对小文件友好了?
这一点非常好理解,两个TFS都用来满足图片等大量小文件的需求。但是两者是矛盾的吗?答案是否。实际中TFS也在努力支持大文件,GFS也要支持小文件。
GFS通过在GFS之上构建Bigtable来支持大量小文件,腾讯的TFS也支持大文件。这里必然存在不少差异,哪种设计理念更好了?
就对GFS和Bigtable的了解来看,从大到小的设计容易理解和实现,整体复杂度尚可,通过冗余来保证性能,关键技术点是采取了文件裂变和文件合并的方法,将疑难问题迎刃而解。