The Evolution of Stupidity: File Systems
enterprisestorageforum.com
enterprisestorageforum.com
Anybody care to explain?
(FWIW my impression is that there's lots of reinventing going on in the open source FS development; everybody wants to reinvent the cool features from ZFS, but with improved performance or a slightly different architecture, and they all seem to be eager to learn from their own and other people's mistakes).
Perhaps because ZFS cannot be integrated into Linux due to licensing issues. If Oracle would be generous enough to offer it under a compatible license, I have little doubt it would be very welcome, despite some of its architectural incompatibilities.
Oracle is developing Btrfs for Linux, I'm not sure they have any desire to make ZFS more attractive to Linux users.
Also, didn't Apple roll out ZFS on OSX and then abandon it? Does anyone know the reasoning behind that? Perhaps ZFS was over-hyped or is only useful in certain scenarios.
ZFS truly shines on hardware Apple no longer makes. It's home is on machines attached to several disks and SSDs. Apple's current server offering is a Mac Mini with two hard disks inside it.
It's too bad. Time Machine looks like it was made for ZFS snapshots.
I don't expect them to be psychic, or know everything. I don't even expect them to be the most knowledgeable person in their field. They're just human.
Calling them stupid because you saw something they didn't isn't just rude, it's ridiculous.
What the author also fails to understand - apparently - is that the problems plaguing the storage industry are perennial, they will never be resolved. We will always yearn for more storage that is more reliable at a lower price-point, no matter how good our current technology is.
Depends /heavily/ on hardware. XFS evolved on high-end machines, and performs awesomely when you have:
* EITHER large write cache (write cache size >> journal size), think `decent RAID controller',
* OR at least put the journal is on a separate harddrive -- which is very real on average workstation.
Been there, done that, the difference is astonishing.
It boils down to specific media access patterns: XFS uses mixed physical/logical journaling; some operations cause a lot of `physical' (i.e., low-level) representation of directory and file metadata to be written to the journal.
Having harddrive's heads fly back-and-forth between different areas (journal vs. metadata) is a sure recipe for abysmal performance. On the other hand, if you have large write cache to handle journal, or at least employ separate harddrive head to serve journal, directory and file metadata has pretty good locality (thanks to very smart allocator) and the other head doesn't have to move too much.
EDIT:
it's worth noting XFS handles large (multi-gigabyte) files very well, as compared to other filesystems. Both r/w access and creation/removal is fast, on any hardware. This is XFS's original and primary use case: handling large multimedia and scientific datasets.
Want to keep countless virtual machine images? XFS is the way to go, especially thanks to smart allocator which lessens fragmentation as compared to competing filesystems.
tl;dr: XFS is optimized for handling large files. With the right setup -- possible on mid-end hardware -- it also handles numerous small files (say, linux-kernel-size projects) very well.
But contrary to your claim many (10's or 100's of millions) of small files and performance is terrible, orders of magnitudes slower than vanilla ext3.
I don't consider the linux kernel to be 'many' files.
Unfortunately, I can't find the test results that back up my claim.
I helped a customer set up a CDN and this was one of the most painful mistakes I ever made to correct for. It took weeks to migrate all the data to EXT3 filesystems while the system was live. The whole point was to end up with something scaleable, the 'sweep' ran 3 months behind the write so after 90 days, with the filesystems nicely filled to 80% capacity or so we found out that deleting a single file would take an impossibly long time.
In the end we found a manageable workaround, to try to select candidates for deletion on a directory-by-directory basis which improved performance to the point that we could migrate the data but it still was a pretty scary operation.
I wonder how XFS performs on SSD, where head transit is not an issue.
And has outstanding performance for lots of other use cases (handling large files, for instance).
Just like any other FS out there.
If anything he seems to be saying that old known mistakes don't get fixed as we don't learn from the past. This is not evolution but it is an example of the widescale misunderstanding of that word that seems to be common in some parts of the world, it is in fact the exact opposite.
Rambling & incoherent this article is.