
This talk describes BetrFS, an in-kernel file system for Linux that offers good performance on all operations. First, BetrFS uses a data structure called a B^e-tree to index on-disk data. A B^e-tree eliminates the trade-off between small, random writes and large, sequential scans. BetrFS also introduces techniques at the OS and data structure level to smoothly navigate other tensions, such as balancing large directory rename performance against maintaining on-disk locality for efficient directory searches.
Compared to commodity file systems, BetrFS can improve workload performance by up to two orders of magnitude, and generally matches other file systems in the worst cases. For example, BetrFS improves performance of the Dovecot IMAP server by up to 41% over update-in-place file systems, such as ext4 or btrfs, and can improve rsync performance by up to 31.5x.
More information about BetrFS, including source code, is available at betrfs.org.