文件系统格式的分类,其实很简单。主要分为两大类:磁盘文件系统和网络文件系统。
先说最重要的,磁盘文件系统是我们最常见的一类,比如NTFS、FAT32、EXT4等。去年我们跑的那个项目,大概3000量级的数据量,我们选择了EXT4,因为它在读写速度和存储效率上都很不错。
另外一点,网络文件系统(NFS)在分布式系统中很常见。比如,我在使用一个远程数据库服务时,就遇到了NFS,它允许不同机器上的文件系统通过网络共享数据。
还有个细节挺关键的,很多人没注意,我一开始也以为磁盘文件系统就是存储在本地硬盘上的,后来发现不对,像iSCSI这种,其实它也是一种网络文件系统,只是通过网络传输数据的方式有所不同。
等等,还有个事,选择文件系统格式时,一定要考虑数据的读写频率和存储容量。说实话挺坑的,有时候因为格式选择不当,导致性能瓶颈,最后不得不重新迁移数据。
所以,我觉得值得试试的是,在项目初期就做好文件系统的规划,这样既能提高效率,也能避免后期的大麻烦。
HDD:机械硬盘,2005年,容量1TB。 SSD:固态硬盘,2010年,读写速度提升5倍。 RAID:磁盘阵列,2008年,数据冗余率提升至99.999%。 NAND:闪存,2015年,存储密度提高至1TB/平方厘米。 FAT32:文件系统,1996年,支持最大文件4GB。 NTFS:文件系统,2001年,支持最大文件16EB。 ext4:文件系统,2008年,支持最大文件16TB。
文件系统格式的分类其实很简单。主要分为两大类:顺序文件系统和随机文件系统。
先说最重要的,顺序文件系统,就像我们小时候玩的抽屉,所有东西按顺序摆好,要找某个文件,就像从第一个抽屉开始,一个一个抽出来,直到找到为止。比如,我们常用的FAT32格式,就是典型的顺序文件系统,它适用于存储大量小文件,但查找效率不高。
另外一点,随机文件系统,就像现代的图书馆,每个文件都有自己的位置,可以直接定位到,查找速度快。比如,NTFS和EXT4,它们都是随机文件系统,特别适合存储大文件和大量文件,但管理起来稍微复杂一些。
还有个细节挺关键的,随机文件系统在文件碎片管理上做得更好,所以文件读写速度更快。我一开始也以为顺序文件系统更简单,后来发现不对,随机文件系统在处理大量数据时,效率更高。
等等,还有个事,选择文件系统时,要考虑你的使用场景。比如,如果你的设备经常移动,FAT32可能是个不错的选择,因为它对硬件要求低。但如果你的设备主要用于桌面,NTFS或EXT4会更适合。
我觉得值得试试的是,在购买新设备或重装系统前,先了解你的使用需求,选择最合适的文件系统格式。