Tom's Hardware Looks At WinFS
Alizarin Erythrosin writes "Tom's Hardware Guide has an article about the new WinFS file system. The article talks first about some of the problems and advantages with FAT[16|32] and NTFS, then talks briefly about WinFS. Here is the summary: 'Microsoft is breaking new ground with Longhorn, successor to XP. The upcoming WinFS file system will be the first to be context-dependent, and promises to make long search times and wasted memory a thing of the past. Today, THG compares it to FAT and NTFS.' Personally, I still have reservations about using a relational database to keep track of files. Unless they can keep the overhead to a minimum, I can't see it being as efficient as a file system should be."
BeOS used indexing for certain attributes, and it is GREAT. Maybe someone is just sour that linux didn't do it first?
Wasn't this supposed to be an SCO story? We're falling behind our quota today.
In any event, Microsoft still has a few years to refine this "Future Storage" file system, so all judgements concerning it's effectiveness are a bit premature on some levels. Then again, it's always good to start planning as early as possible - especially when you consider that it may be introduced into Windows Server 2003 some time during the next 12-18 months. For now, all we can base judegement off of is Microsoft marketing hype and comparisons to existing file systems that operate in a similar way.
Journaling doesn't reduce performance much, and at least for me, it's well worth it for the peace of mind, and the lack of fsck. Hard drive space is hardly at a premium, most people can spare the 10%, and without it, I spend 15 minutes scanning my 40GB disk every certain number of boots (or if it's not shut down right). If I used Windows, I'd at least give WinFS a try.
This article is bullshit. There isn't a shred of new information in it. It's like watching CNN.
In Soviet America the banks rob you!
As far as i was concerned, WinFS was not actually a real file system but something that just runs on type of an NTFS filesystem.
This was actually confirmed at WinHEC:
"Microsoft has scaled back its 'Big Bang', and its Future Storage initiative will build on, rather than supersede the NTFS file system, when the next version of Windows 'Longhorn' appears in 2005."
"WinFS is not a file system
NTFS will be the only supported file system in Longhorn, from a setup and deployment standpoint, though the OS will, of course, continue to support legacy file systems like FAT and FAT32 for dual-boot and upgrade purposes. The oft-misunderstood Windows Future Storage (WinFS), which will include technology from the "Yukon" release of SQL Server, is not a file system, Mark Myers told me. Instead, WinFS is a service that runs on top of--and requires--NTFS. "WinFS sits on top of NTFS," he said. "It sits on top of the file system. NTFS will be a requirement."
Interestingly, when WinFS is enabled, file letters are hidden from the end user, though they're still lurking there under the covers for compatibility with legacy applications. This reminds of when Microsoft added long file name (LFN) support in Windows 95, but kept using short (8.3) file names under the covers so 16-bit applications would still work. Expect this to be the first step toward the wholesale elimination of drive letters in a future Windows version."
This article is tripe.
The closest it gets to examining the (possible!) new Windows filesystem is calling it a relational database, and going on for a bit about how paths (ie: directory structures) will be irrelevant. Oh, and yeah, the closest thing he found to the implementation was called "winfs.exe" and did nothing but produce errors.
The bulk of the article is a (poor) attempt at explaining filesystems in general, and FAT and NTFS in particular. However, it gets a number of things wrong and - at best - garbles a lot of things. If you already know what he's trying to say, you *may* be able to pick out truths, but if you don't you'll walk away with misinformation.
I would suggest instead perusing arstechnica.com and aceshardware.com. I don't know if they've done any filesystem stuff, but if they have it'll be of reasonable quality.
Barclay family motto:
Aut agere aut mori.
(Either action or death.)
I read this article hoping for some real information on the WinFS file system, and instead I got an amature's review of Microsoft file systems I grew up with.
"There has been much speculation"
Uh huh.
"Win FS is modeled on the file system of the coming SQL server"
Uh huh.
"In its latest build (M4), Longhorn contains few hints of the technology's imminent implementation."
Uh huh. You're saying you don't know anything, yeah, I'm getting that part.
"One of those is more than 20 MB in size and bears the name winfs.exe."
Neat.
"In the end, Win FS will probably emerge as an optional file system beside FAT and NTFS. It's also possible that Win FS will supersede its predecessors, however."
So in the end, it'll be A... but it is also possible it'll be B. I see.
"That would most likely produce problems for multi-boot systems"
An astounding feat of logic Mr. Spock!
This is the most uninformative article I've ever had the displeasure of reading on Tom's Hardware. These people know exactly nothing more about WinFS than any of the rest of us have heard in rumors and vague press releases.
How about Clippy? "I see you're looking for your work files. You're fscked."
One line blog. I hear that they're called Twitters now.
Looks like I was wrong - or, actually, right all along. Musta been a slow news day?
It's really irritating to have a RAID that gets crippled to 5-10MB/sec when on other OS and FS combos it can do 80-100 because MS has decided "Oh performance isn't important, reliability is, so we'll force cache off for all SCSI miniport devices even if it says it's on."
f =2&t=1758&hl=slow+scsi+performance&s=9f0e65a3ff482 2032e4a63091694cc3f it never got fixed. Non-RAID IDE is unaffected supposedly due to a "bug" in the system where IDE devices ignore the OS commands to switch to write through caching. It's really ridiculous when a 700MB file takes almost 2 minutes to copy under XP and yet under BSD on the same system dual booted on the same array, it takes 11.2 seconds.
See http://forums.storagereview.net/index.php?act=ST&
Introducing the new Occam Fusion! Now with sqrt(-1) fewer blades!
1) NT4 (certainly from SP3) allows you to make partition alterations without a reboot. Even 2K requires a reboot for alterations to the boot partition, however.
2) 2K doesn't dispense with the drive letter concept, despite the implication in the article that this is the case. That you can mount partitions under folders doesn't change this.
3) You can specify the cluster size when formatting a drive under NT4.
Also, has anyone actually come across a data centre that is making use of multi-hundred-TB NTFS volumes?
And, will Longhorn finally do away with the whole drive letter concept?
"God, root, what is difference?" - Pitr, userfriendly
Relational databases are better than conventional file systems in both performance and transaction management/journalling.
However, the best solution is that used by EROS, which is for the kernel not to provide a file system at all, but instead provide Orthogonal Persistence.
This is a much simpler layer for applications, since it doesn't require them to explicitly access the memory and disk separately. It is also much simpler to recover from because the entire state of the whole disk is always known to be coherent with itself at all given points in time, without an expensive journal.
In terms of performance - it beats the hell out of explicit disk access systems (Both conventional and database systems) because it performs big continuous reads and writes (that don't move the head much) rather than small writes on metadata and file data that forcibly jump the disk head around.
In EROS then, on top of the Orthogonal Persistence, you can create any arbitrary Objects you want easily - because they're just normal processes with normal memory. Conventional File Systems become useless and objects implemented by processes become a much better and more powerful alternative to files.
A relational database of the user objects is then much more powerful than a string hierarchy, but this is all the user's choice - and not hardcoded into a kernel.
I'm looking forward to this! I personally am sick and tired of filesystems as we know them today. Today's filesystems are a strict hierarchy, the existence of which is only necessary in the systems of yester-year.
:+) Maybe the initial implementation wonâ(TM)t get all this right. But at least it stands a chance.
A filesystem based on a relational database will have some characteristics to which today's filesystems can only aspire:
1. ACID - In every way that the underlying database supports Atomicity, Consistency, Isolation, and Durability, so now will the filesystem. In so far as the database is robust, the filesystem will be robust. Please spare me the comments about the supposed unreliability of SQL Server. Itâ(TM)s certainly more reliable than NTFS; which is itself very good.
2. As an offshoot of the above - Imagine multiple file updates to a filesystem which is transactional! Imagine that transaction failing and being able to just rollback the changes without touching every file in your program! Imagine being able to make file changes programmatically without having to worry about locking because the engine will do it for you (just handle any exceptions)! Yeah, you could do all that today if you like. But it takes extensive to make it happen.
3. Operational characteristics - We can run queries against databases. We can index them. We can cluster them. We can replicate them. We can access them easily from any development platform you can imagine. Now your filesystem is a database. The possibilities make me shiver!
4. Another offshoot from #3 - Security. Databases are inherently better than filesystems (IMNSHO) at enforcing security and enabling administration of security.
I only have reservations about one issue with the database as filesystem area: recovery. Currently, all good and low-tech filesystem recovery tools really are based on the filesystem allocation table sort of scheme. Obviously, databases usurp this category of tried and true tools. However, good tools already do exist that allow recovery of relational databases. Itâ(TM)s just a matter of getting easily accessible tools of this sort into the hands of professionals that need them. It's more of a training issue I guess, but it will still need addressing.
I know many people will have a knee jerk reaction to this idea, and I understand why. But I would encourage people to keep an open mind to this. While there will probably be some issues with the idea, there's so much more that could easily be done with a filesystem on top of a database than could be done easily (or well) with a traditional filesystem.
And for you hard-core naysayers out there, you have to ask yourself this: If this is such a bad idea, then why did Oracle provide this as a feature too?
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
Near-Term: this thing should be just as stable as every other MS product prior to version 3.0 of it. (In short, damned lousy). To make it worse, it probably also enables DRM at a file system level...
Mid-Term: FS finally works, and allows easier retrivial by relevance, author, source, etc. in ways that we can just dream of now. It's the kind of thing we didn't realize we needed until we had it...until it inevitably blows up as all MS products must do eventually. But when it works, we will be fairly happy to have it...especially end users, most of whom can't figure out a hierchical file system in the first place.
Far-Term: FS is finally able to use it's relational roots to distribute filesystems over multiple processors in an cluster or over a network. Such a system would support atomic, distributed file updates by threads of processes on differing processors (including HyperThreaded procs). Imagine a virtual filesystem that can span your whole-house network, with a single file system image...in WINDOWS.
So I guess my view is: painful in the near-term, but may be cool to have when they get it right.
I recently installed a Win2K server that is blindingly fast at finding documents and such... but horridly slow at serving up portions of files, for things like legacy database programs. Three of the customer's applications started running at 1/4 speed.
It got so bad, even after all the "fix win2k speed" patches, that we re-introduced the 200MHz NT4 server to feed the database apps, and the dual-processor 2GHz system just serves up documents!
Linux can not safely write to NTFS, not even NTFSv1.2 even though it has been around since 1994. The lack of documentation makes it so that some aspects of updating the metadata and indexes cannot be done safely in all situations.
There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
Yeah, but I bet you it'll be like Windows XP's theoretical ability to use FAT 32 - it can read it, but it won't actually let you format in FAT32 when doing an installation
So when is the last time you actually used WindowsXP? What you said is pretty silly.
You can install WindowsXP on FAT32, even create FAT32 partitions during setup etc, all the same options you get with NTFS during the install.
Are you trying to make up stuff or just never used it?
Geeshâ¦
A directory tree is a very useful structure, at least to the software. Similar stuff is grouped together, and easily cached. It provides a very clean and simple way of putting data somewhere and getting it back later. This should not lightly cast aside.
So, you want to use a relational database to keep track of files? Go for it, but instead of keeping track of the files themselves, keep track of their paths. Let the filesystem do the efficient storage, and the database do the efficient lookups. The database can be made faster and smaller, the filesystems can remain as fast as they are, and the files are still there even if the database gets corrupted.
Put hooks wherever necessary to update the database when the filesystem changes. For example, put a database in the root of each filesystem. Use a stacked mount to mount that disk, so when interesting things happen, the kernel tells a userspace process that updates the database. Then, make some standard libraries that use the database. Make file browsers that can query it, but pass the path to programs. Make save dialogs that can also save metadata about the file, and open dialogs that can search for it. Use LUFS or FUSE to make directories that correspond to queries.
This is just as effective as what MS is doing, but it's more efficient, it's more compatible, and it doesn't reinvent the wheel.
Litigious bastards
From what I've read and experienced, the performance hit only involves writes. Reads are unaffected.
Writes are about 10% less efficient, which a pretty good tradeoff for that peace of mind.
--
the strongest word is still the word "free"
It's every slashdotters dream to get a "Score:5 Troll" post.
Nerd: Derogatory term typically directed at anybody with a lower Slashdot ID than you.
Right, but in general, journaling is a hack. The BSD softupdates concept is both cleaner and faster, and accomplishes nearly the same thing. To be fair, all of NTFS, ext3, reiserfs, BeOS's FS, and the new OSX FS have some advanced journaling features, but the concept itself should be more cleanly handled. Much like databases should be ACID compliant, filesystem writes can and should occur in such a manner that no external journal is required.
--
Use Vobbo for Video Blogs
This is completely unfair.
How many gaping security holes have there been in NTFS?
By most accounts, NTFS is one of the better filesystems ever written. Journaling, ACLs, decent performance.
There is talent in Redmond. Ignoring that is as flawed as assuming the entire Linux community is represented by Sendmail and SCO (security holes and bad publicity). Pretty bad, right?
--
Use Vobbo for Video Blogs
I've been reading and contributing responses to Slashdot for years, but this is by far the worst article I've ever seen posted here. I can't believe whoever posted the article on the "front page" of Slashdot actually read the article -- they couldn't have even read the first page.
Right on the first page of the article, the "journalist" who wrote it describes disk storage as "memory". In the "Summary" of the article posted on every page, current file systems are described as wasting "memory". This reminds me of every-day users who confuse their computer running slowly (or literally telling them they don't have enough memory) with the need to delete files from the hard drive -- two completely separate things in most situations. This is all aside from the fact that the article doesn't actually tell you much that anybody who's used computers for more than six months doesn't already know. This guy sounds like some of the kids who come to me interviewing for I.T. positions thinking they've got a leg-up on everyone else because they've got some basic experience with PC's and Windows.
The bottom line is that the guy who wrote this article doesn't have any business writing tech articles without heavy supervision from someone who KNOWS tech, and I don't just mean someone who knows enough to rattle off performance numbers for CPU comparisons (read some other articles on the site). Lastly, Slashdot has no business posting amateurish and misinforming articles like this for the rest of us to waste our time on.
The limit is 32GBs.
FAT32 Formatting in Setup is an option, but is known to frequently fail or have significant errors
No it doesn't.
FAT 32 Formatting once you are in the OS requires 3rd Party wares.
Again, only if creating partitions bigger than 32GBs.
Uhh...no.
Slammer exploits a buffer overflow in the sql server "named instance" resolution mechanism. It has nothing to do with the storage/querying/indexing/etc of relational data.
The sysinternals driver is NOT a reverse engineering, it is basically a DOS mode interface to the windows system dll's. When you use the NTFSDOS disk you have to run it under the version of windows for which you will be accessing the NTFS partition, it then snarfs up the system dll's and puts them on the disk. Then when you load up the disk you run ntfsdos.exe which is basically a wrapper around that code. This could probably be done for linux but it would probably not be redistributable for fear of legal reprecussions from MS (how sysinternals gets away with it I do not know, maybe they have an agreement with MS, or maybe they are just too small of fish and too usefull for MS to swat them)
There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
I think we'd be better off replacing the relational database with a file system.
Just a joke SQLiers, just a little joke. I know they are indispensible. Really. I believe you.
-pyrrho
I think the performance of WinFS will tell us how serious Microsoft is about really changing the way files are used. Performance is just a question of time and engineering resources - OS X's journaling is slow but HFS+ is an antique filesystem; in contrast BeOS had BFS, a journaled filesystem with all of the indexing buzzwords WinFS claims except free-text context searches and it was also extremely fast.
The difference isn't features - BeFS supported everything HFS+ does and arbitrary attributes, journaling, much larger file/filesystem support, and indexing and it was still faster. Be simply made performance a much higher priority than Apple has so far; fortunately they've hired the BeFS lead developer and perhaps 10.3 will have some surprises.
Another good example is ReiserFS - while some of their choices reflect overall design goals (e.g. targeting large numbers of small files instead of BFS's massive videos) they've largely passed the traditional filesystems in most areas despite having to do more work to keep all of the extra features going.
Microsoft has a number of engineers who do understand performance; the question is simply whether it'll be a significant priority for them to make WinFS fast enough that we'll realistically be able to use it.
Usability engineers looked at what users were doing in Windows and they saw that tons of people weren't using the filesystem - at least not directly. They were just putting everything on the desktop. If it was on the desktop, they could find it. They kept folder structures to a minimum and organized things visually (or not at all).
This posed a significant problem, so indexing and searching and abstracting the filesystem was one of the solutions. Instead of having to navigate a filesystem (hard for many users), you just type in what you're looking for and *poof* it appears. Not sure what you're looking for? Start describing it... *poof* it appears.
I'm not saying this is the right solution, but technology is not always about cluster size and performance - especially if the system isn't usable. It will be interesting to see how user friendly this WinFS thing is...
You cannot format a volume larger than 32 gigabytes (GB) in size using the FAT32 file system during the Windows XP installation process. Windows XP can mount and support FAT32 volumes larger than 32 GB (subject to the other limits), but you cannot create a FAT32 volume larger than 32 GB by using the Format tool during Setup. If you need to format a volume that is larger than 32 GB, use the NTFS file system to format it. Another option is to start from a Microsoft Windows 98 or Microsoft Windows Millennium Edition (Me) Startup disk and use the Format tool included on the disk.
I've done it myself, with and without SP1 slip-streamed, and it should have let you do it as well. Are you certain the partition was only 30GBs?
3 years before release: Product will do everything for everyone.
2 years before release: Product will do everything for the majority of users.
1 year before release: Product will do many things for many users.
Release: Well it does something.
"To those who are overly cautious, everything is impossible. "
I use journaling and still get filesystem corruption that is not automatically fixed (like overlapped extent allocation) once in a while. On the other hand, HFS+ seems to already use a B-tree and file search is quite fast.
It should be noted that the regular fsck should still be performed, even on a journaling filesystem. The fsck after an unclean shutdown is obsoleted by the journal, but the regular fsck is supposed to catch subtle errors in the filesystem code and hardware problems which can cause the filesystem structure to rot slowly - problems which a journal can't and won't fix.
Microsoft loves to create incredibly complicated, undocumented and fragile data structures. Consider word: the internal structure of a word document as itself a filesystem, it has a root, a FAT and a bad block list. If even 1 block is damaged the file is useless. There are few repair tools because the internal layout is secret and undocumented. Access and SQL files are worse. In data recovery we frequently recover 90% of the files from volumes that have thousands of bad blocks or other damage. That wont work with WinFS. Are you going to store you precious digital photos on your $80 WesternDigital 80gb drive with its new 1 year warranty? Microsofts (and WD's) attitude will be that you should have backed it up. How do you easily back-up 80gb anyway?
I'm posting this from a WinXP machine. Let me assure you that while it can read FAT32, the OS as default will not FAT32 format any drive over (I belive) 2Gb.
w to /gettingstarted/guide/installnew.asp
/?
/N:sectors] /FS:filesystem Specifies the type of the file system (FAT, FAT32, or NTFS).
FAT32 Formatting in Setup is an option, but is known to frequently fail or have significant errors.
FAT 32 Formatting once you are in the OS requires 3rd Party wares.
SCO has performed an illegal operation and will be shut down.
I hate to rain on your parade, but the information you are providing you are either mixing with NT4 information or just making it up as you go.
Nothing I can say is convincing you, so let me reference you to the information you need.
http://www.microsoft.com/windowsxp/pro/using/ho
It clearly provides information on the only limitations of doing a FAT32 installation of WindowsXP, and that is the inherent limitation of FAT32 only being able to recognize a 32GB partition size.
As for '(I belive)2Gb', you are referring to the FAT16 installation of NT4. It doesn't apply to WindowsXP.
FAT 32 Formatting once you are in the OS requires 3rd Party wares.
Here let me quote from a command prompt for your edificationâ¦
Format
Formats a disk for use with Windows XP.
FORMAT volume [/FS:file-system] [/V:label] [/Q] [/A:size] [/C] [/X]
FORMAT volume [/V:label] [/Q] [/F:size]
FORMAT volume [/V:label] [/Q] [/T:tracks
FORMAT volume [/V:label] [/Q]
FORMAT volume [/Q]
volume Specifies the drive letter (followed by a colon), mount point, or volume name.
Notice the last line?
So where do you get your information, tooth-fairy, or just make it up as you go? Third party utilities are NOT needed to format FAT32 in WindowsXP, as you said âonce you are in the OSâ(TM) â" BTW, did you know that even during Setup â" YOU ARE âIN THE OSâ(TM)? It is running a stub version of NT already at that point; you are already in the NT OS.
FAT32 Formatting in Setup is an option, but is known to frequently fail or have significant errors.
Since when? Where do you document this at? Funny in all the time our tech team has put into working with WindowsNT, they can find no reference to this, either online or in their own experience. Tooth-fairy again or just making it up as you go?
There are NO known issues or documented issues of WindowsNT EVER having a problem running on a FAT partition, either FAT16 from NT4 days or FAT32 of current days. The NT core has an installable File System, like most modern OSes, and its interaction with the file system underneath is irrelevant to how it operates in regard to failure or problems.
Besides, this is really a moot point. If you are running WindowsXP and it is your only OS, then there is NO reason not to use NTFS. It is faster with larger files, faster with large volumes, supports compression, supports encryption and can have partitions up to 16 exabytes in size.
If you are running WindowsXP on FAT32, you are missing half the benefits of WindowsXP and the security of NTFS as well as its reliability of sitting on a journalled file system, etc, etc.
Geesh.
One word: FAT. You are making three assumptions here. The first is that the underlying implementation is capable of supporting near-infinite extension without degradation. Invalid for FAT, valid for the FS types mentioned in the grandparent, and the reason for what I said. The second is that the file system will be used as a hierarchy, which is invalid for most end users. The third is a combination of the first and second, being that the file system extends without unreasonable degradation to a vasst number of files in a single directory, and performing operations (esp. searches) on them quickly. This is invalid for all of these file systems, because of how they store metadata.
Again, you're assumiung you, a technically savvy user. End users don't behave like this. By and large they use meaningful file names in a single directory. If you're looking for a document someone else did, it will be in their single directory, not in a common folder for documents relating to that topic. If you don't know who worked on the document, you need to do a broad search based on keywords.
Which shows how little you've thought about the implementation of this system. You only have to make a change if the file metadata changes. In many file systems you already have to write that change in a different location to changes to the file itself (if you don't, your metadata search time goes out the window). If your "locate" database is a relational database, making a change has trivial overhead.
Actually, this isn't what I was meaning. I was referring to the relationship between the data in the FS and in the locate database (or any other metadata search database), and indicating that WinFS (in theory) takes out the step of building a separate database by using the database as the "index" of the file system. Unfortunately in this incarnation of WinFS (the current implementation) MS will not be implementing it quite in that fashion.
But to answer your point ... Win32 systems have had file change notification in their APIs from day 1 (NT 3.1 / Win95 + have FindFirstChangeNotification; NT 3.51 + have ReadDirectoryChangesW).
And that's pretty much what MS is doing by converging a tradition file system with a metadata view.
Of course, WinFS was intended for client operation systems, not servers. And while NTFS could still be improved, it doesn't make a lot of sense to do so: most high data volume applications store their data in structured files, and don't require much from the file system in any place where performance could be signficantly improved.
i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
I think you are confusing the terms. Or you just got the threads mixed up.
Journalling makes sure that the state of data, or meta-data is always defined. So even if you turn the computer off while in the middle of a write command the file-system will be in a correct state afterwards. (The write operation will be lost however.) It is basically a way of making HDD operations atomic. Either they succeed or they fail, the in between state is what puts your drive in a corrupted state.
When talking about 10% it is refering to space on the disk for the log file to make this possible.
Now storing the meta data in a database, which is essentially what WinFS and such are doing, is not as clear a benfit. Personally I can imagine that it would be a very practiacal FS for keeping movies and MP3's on. I don't really see the benefits of running the OS files on that FS though. A lot of unneccesary overhead. (I don't search for files in my OS partition very often.)
Much like databases should be ACID compliant, filesystem writes can and should occur in such a manner that no external journal is required.
And how would you propose to achieve that without performance going down the drain?
The guys writing these filesystems are not dumb, and the reasons why journals are used are well considered. Another thing is that ACID compliant databases also use something like a journal to achive the atomicity.
Oh, and forget softupdates, they are _not_ comparable to journaling filesystems, for instance you still need to fsck, it's just faster.
Compare that with one of the funnies manpages I know.
AFAIK, the NTFS installation of NT4 won't allow you to have a primary (system) volume > 4GB. This is because NT will install a FAT16 volume and later convert it. This may have been fixed in a service pack, but until you install the OS, how are you going to get a SP on there? Sure, you can
grow the partition later, but you're being a bit disingenuous in your specifying that this problem is confined to FAT16 installation on NT4, since an NTFS installation *uses* the FAT16 installation.
Am I the only one really annoyed at this guys use of "memory" for disk space? I _still_ find customers who can't tell the difference between RAM and HDD, and this guy goes and makes it worse for every twit who thinks they know everything. Yes, I know that one can make a theoretical argument for using the term, but really, in practice, memory is RAM. It's just annoying... I'm surprised to see it at Tom's Hardware...
jX [ Make everything as simple as possible, but no simpler. - Einstein ]
Take a look at www.namesys.com/v4/reiser4_the_atomic_fs.html
and at www.namesys.com/v4/v4.html.
We will be adding support for semi-structured data querying in the next major release, assuming that we find funding for it. The semantics for it are described at www.namesys.com/whitepaper.html, which also explains why I don't think the relational model is effective for semi-structured data stores such as a general purpose filesystem is normally used for.
Best,
Hans
NTFS is actually not bad with fragmentation. I'm running a Win2k Pro box and a WinXP Pro box; neither's partition has ever reached more than 12% fragmentation, and even that was after having the partitions 98% full. Most people won't notice NTFS file fragmentation as a problem until it reaches 50% to 60% anyway. FAT32, however, is quite a different story. I can start to notice performance hits around 9% fragmentation or so. Also, according to my MCSE training kit, the main cause of filesystem fragmentation on windows machines is using a page file that does not have a static size. Using a statically-sized page file can decrease defragmentation dramatically. (If you don't believe me, set your paging file to a static size between 1.5 and 3 times the amount of physical RAM you have, reboot, defragment, and test with every FS torture you can think of.)
Now storing the meta data in a database, which is essentially what WinFS and such are doing, is not as clear a benfit. Personally I can imagine that it would be a very practiacal FS for keeping movies and MP3's on. I don't really see the benefits of running the OS files on that FS though. A lot of unneccesary overhead. (I don't search for files in my OS partition very often.)
Indeed. It seems like what they are claiming as an improvement, (i.e., faster searching for files), does not appear to help what people actually do most of the time. It is similar to claims of "boots much faster!" that you used to hear about new versions of windows. I would think the thing that would be important to people is data integrity and access efficiency. I know my primary concern is "how safe is my data".
I also question the need to include the overhead of a database frontend to the filesystem. Seems like a catastrophe just waiting to happen.
Also, since the DB is always active, what issues do you have with backups? I'd be concerned about backup and restoral issues with this type of filesystem. I haven't seen that addressed at all.
This is an ex-parrot!
Now storing the meta data in a database, which is essentially what WinFS and such are doing, is not as clear a benfit. Personally I can imagine that it would be a very practiacal FS for keeping movies and MP3's on. I don't really see the benefits of running the OS files on that FS though. A lot of unneccesary overhead. (I don't search for files in my OS partition very often.)
BeOS used a metadata enabled fully journaled multithreaded filesystem and it was the bomb.
Mail client? What mail client? You email inbox was a directory in the OS with all the email metadata attributes enabled in the file manager. Mail filters literally became shell scripts. Want to index your MP3s according to artist, album, etc all at the same time? Use the shell scripting and metadata, Luke!
It also does away with the stupid limitation of extensions. When all your data is stored as a datatype in the metadata listing, who needs them?
I think that Microsoft are going a little overboard embedding a database into the filesystem, proper meatdata enabled filesystems are a GOOD thing in my book.
Let's get one thing straight ... many of these features are already available in one form or another and no one uses them.
... I'm not against having an FS that enables you to annotate files outside of the programs that create them. I remember working many years ago with FSs that would allow you to automatically keep the last n revisions, which was very helpful when coding.
How many people click on Properites in M$Word and put in the information?? How many people download files and leave them lying in whatever directory they just happen to fall in.
Don't take me wrong
It's just that I have a hard time getting excited over something that is going to simply bloat a system and the odds are no one will use.
My girlfriend is fairly smart, but she still downloads all her pictures into the default folder, and uses thumbnails to find the ones she wants. She has about 1000 of them, and it only takes here a few minutes to find the ones she wants. It would take here no extra work than what this new FS is suggesting to rename the file and/or store it in another folder
Useful feature, bloatware, Linux beater, or disaster waiting to happen. My guess is all of the above, at one time or another. Some people will use it and spend hours cross-linking files. I'm sure the initial releases will have security or data loss issues until the bugs get worked out. It will take 0.10 minutes for some Linux hacker to reverse engineer the ability to at least read it. And it will probably take up gobs more memory.
It's all a matter of perspective....
I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
For most file data, perhaps.
I will use this, and to good effect, as well.
The point to take into consideration is that the context will also change depending on the metadata available. Your view of the aggregate file objects changes, depending on the context. Not to mention that this same metadata will be available, in the same format, to all participating applications. Your apps can have all the same view, if you like.
What this means in concrete terms is that your carefully sorted directory of MP3's can look like a file library in iTunes. There are searchable, sortable columns for Title, Album, bitrate, Cover Art, year, label, and whatever (note I did not say "filename", which is just another attribute under a modern filesystem). This is possible with only the most basic gestures on the part of the user, and is remembered for the next time you visit this same view.
Similarly, a tree of photographs appear in any participating file browser with whatever columns you want (bit depth, format, date taken, date published, ICC info). It's important to consider that you can do this with any arbitrary collection of data, even one's you define yourself (to take the BeFS example, anyway).
So you can take your collection of widgets, define attributes about these widgets, and your file browser applet works the same for the same user in all applications. It should, anyway. This is why we have APIs.
To cite your example, why visual grep through a bunch of thumbnails looking for a particular photo when you can just indicate with a few gestures the "type" of photo you are looking for? I like the iPhoto interface when I'm browsing photographs, but if I want a particular photo of the GF from a rough date taken at night, I certainly don't want to browse through 1000's of images, especially when some of them can be hard to discern at thumbnail resolutions. I certainly don't want to do this repeatedly when I'm assembling a photo album on a specific subject.
Let the computer do the grunt work of selecting a result set that matches my criteria, and then I can use my human abilities to select the object I want, or refine the search.
Most of us already keep our aggregate file types in associated groups on the filesystem already. In most cases, the tree structure of most filesystems is sufficient. All this does is extended the functionality of the filesystem so that you can choose to abstract aggregate file objects and treat them in a a myriad of different ways. In the most basic sense, you tell the OS, "look, when I have the Explorer/Finder open on this directory of MP3's, make sure you change the column view so it shows this, this and that. In icon view, make sure that mouse-over pop-ups (if enabled) display this that and that. Default sort is alphabetically by Artist's Last Name. I don't want to see the filename, as that doesn't contain any useful information."
That is, you don't have do anything special to make use of the file attributes in this way. You just tell the ultimate app that all of us use the most (the operating system's file browser) to treat certain directories in a different manner.
-- clvrmnky