File System v.s. Database
常常对 文件系统 File System 和 数据库 Database 的概念有所混淆,在存储系统愈发复杂的今天,常常有对这两者的混淆和混用,在这里基于看过的文献和 industry 用语,记录下自己理解的含义:
- 文件系统 File System:本地文件系统;高层并行/分布式文件系统
- |0| 本地文件系统 是包装在裸块设备上(block devide)的,用于对上提供标准POSIX API使应用能够管理和使用存储设备
- |1| 文件系统中间层 是在本地文件系统和应用程序之间插入的中间层,用于为本机/多节点集群(并行/分布式)优化调度 IO issues,提高性能
- 可以整合入 OS kernel,实现则较为困难、灵活性低,是最硬核的选择
- 可以应用态文件系统方式挂载运行(FUSE),性能则会收到 FUSE 多层 overhead 的拖累
- 可以应用动态库 library 方式实现,此时则 generality 打折扣,需要用户 application 重新链上这个库重新编译