Actually there are two meanings attached to it:
- File systems that protect their file system structure consistency through "transactions" (log, modify, commit) so that any kind of soft failure, will still leave the structure of directory, files and metadata (like ACL or owner,group, etc) in a sound state, as well as increase the chances of successful recovery in case of a hard failure. Unlike the old file systems (FAT, ext2) who required a manually triggered repair operation after a software failure to ensure their consistence, modern file systems (NTFS, ext3, JFS) automatically take care of that by using a mechanism similar to database log/recovery mechanism. This concept is also known as JournalingFileSystem but is sometimes referred to as TransactionalFileSystem.
- A FileSystem, that supports TransactionProcessing. Actually the first time I heard of this meaning was in the context of this page.
, that supports TransactionProcessing
, i.e. .
Contrary to most databases, I do not know of any, but wish, there were some. Can you help?
Wouldn't it be more prudent just to switch to a database if such features are required?
: The choice should depend on the kind and structure of the data stored, shouldn't it?
Alternatively you can have a database that provides a FileSystem
. Oracle has a product called "Internet File System" who does just that, but how good that is is anybody's guess as references to it are rare (anybody has any in-depth info ?).
The reason why TransactionalFileSystem
in this sense is not given much attention by file system implementors is that even if FileSystem
would provide for "transactions", the API exposed by a file system (open, read, write, seek, close) is so low level that it can rarely be used as such by application involved in typical data processing, and it would also be expensive to implement. So the cost/benefit trade-off does not drive the open-source commercial community to look into this area.
I concede, that some idiom would be required to demarkate TransactionBoundary?
s if the transaction should include more than one file.
) does such a file system for embedded applications, called Reliance.