There are some similar concepts between noms and a COW filesystem (e.g. ZFS). A filesystem looks like a POSIX layer (files/directories) on top of a transactional layer on top of a block interface (e.g. ATA or SCSI). Noms exposes a structured transactional layer; it allows deep expressibility of complex types and provides transaction history. Filesystems might have transactions at the core, but it knows nothing about the rich structure of data beyond files and directories.

Noms and ZFS work on different types of data. Both offer transactional history, snapshots/clones, and easy data migration. Both are organized in self-validating Merkle trees. They types of problems they solve for users and their applications are quite different.

That said, my first reaction when Aaron told me about noms was “could you build a filesystem with it?” Stay tuned!

Building computers at Oxide; past: DTrace, ZFS, Delphix CTO, Transposit founder, CEO

Building computers at Oxide; past: DTrace, ZFS, Delphix CTO, Transposit founder, CEO