Today I learned about the filesystems popular in linux, and the diffenrence between them.
BTRFS vs EXT4
EXT4 is a pure Filesystem, comes with basic fs functionalities including journaling, while BTRFS has more additional features like Snapshots, Checksums, encryption and compression.
The main difference though is that BTRFS is COW (copy on Write) fs. which means it does not overwrite a file when modified, instead it make a copy and deal with it. COW make BTRFS not relying on a journal file and make snapshots easier.
BTRFS deals also with volume management, it can span more than one physical drive and create subvolumes and manage them on the fly.
COW has disadvantages: fragmentation and need of garbage collection for copies.
XFS vs EXT4
XFS is good when it comes to big files
Benchmarks
BTRFS is the least stable and least performant, this is because of it’s COW nature. XFS and EXT4 are pretty equal when it comes to performance.
The Btrfs filesystem: An introduction
xfs vs btrfs vs ext4 vs zfs benchmarks