解析Oracle准备开发的文件系统Btrfs

Oracle 似乎越来越想直接填补 OS 与 RDBMS 之间的技术缝隙。之前的 ASM 已经向存储层跨了一大步,可以说是 Oracle 自己的 LVM 软件,而且,应该说也占据了一定的市场。然后是 OCFS (Oracle Cluster File System)更进一步--用于集群的文件系统,OCFS 的表现似乎还需要观察(主要是还不够稳定)。现在,Oracle 又准备开发新的文件系统了。这个项目名字叫做 Btrfs。

Btrfs 的特性列表:
Extent based file storage (2的64次方 max file size)
Space efficient packing of small files
【 vs ZFS: Built in compression】
Space efficient indexed directories Dynamic
inode allocation Writable snapshots Subvolumes
(separate internal filesystem roots) Object level mirroring and striping
【对象级别的镜像与条带】
Checksums on data and metadata
(multiple algorithms available) Strong integration with device
mapper for multiple device support
【似乎 Oracle 对当前 Linux 系统的 LVM 软件并不满意】
Online filesystem check
【 vs ZFS: Always consistent on disk】
Very fast offline filesystem check
【对于大文件系统十分有效】
Efficient incremental backup and FS mirroring
【 vs ZFS: Fast native backup and restore】

【】内是我的注释或猜测。看得出来,Btrfs 应该参考了 Sun ZFS 的很多设计思想,而 Btrfs 的设计目的是面向数据库的,所以有很多独特的面向数据库的特性在里面。Btrfs 目前还在设计中,所有关键特性都实现并且成熟稳定恐怕还真是有待时日,Oracle 软件代码的质量那可真是叫人没话说--可不是好的让人没话说。

或许很多人已经忘记了 Oracle 多年以前失败的 Raw Iron 项目,但现在,Oracle 似乎在用搭机木的方式重新实现这个目标。