Background:
I am aware of this SO question about Transactional NTFS (TxF) and this article describing how to use it, but I am looking for real-world experience with a reasonably high-volume enterprise system where lots of blob data (say documents and/or photos) need to be persisted once transactionally and read many times.
- We are expecting a few tens of thousands of documents written per day and reads of several tens of thousands per hour.
- We could either store indexes within the file system or in SQL Server but must be able to scale this out over several boxes.
- We must retain the ability to back up and restore the data easily for disaster recovery.
The Question:
- Any real-world, enterprise-grade experience with Transactional NTFS (TxF)?
Related questions:
- Anyone tried distributed transactions using TxF where the same file is committed to two mirror servers at once?
- Anyone tried a distributed transaction with the file system and a database?
- Any performance concerns/reliability concerns/performance data you can share? Has anyone even done something on this scale before where transactions are a concern?
Edits: To be more clear, I have researched other technologies, including SQL Server 2008's new FILESTREAM data type, but this question is specificially targeted at the transactional file system only.
More Resources:
- An MSDN Magazine article on TxF called "Enhance Your Apps With File System Transactions".
- A webcast called "Transactional Vista: Kernel Transaction Manager and friends (TxF, TxR)". This video quotes an overhead from using TxF of 2-5%, with the performance discussion starting about 25 minutes in. This is first set of hard numbers I've found. And the video is a very good overview of how this works under the hood. At about 34:30, the speaker describes a very similar scenario to this question.
- A Channel 9 screencast called "Surendra Verma: Vista Transactional File System". He talks about performance starting around 35 minutes in. No hard numbers.
- A list of TxF articles on the B# .NET Blog.
- An Channel 9 screencast called "Transactional NTFS".