Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Any real-world, enterprise-grade experience with Transactional NTFS (TxF)?

Tags:

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".
like image 463
Jerry Bullard Avatar asked Sep 15 '09 05:09

Jerry Bullard


1 Answers

I suppose "real-world, enterprise-grade" experience is more subjective than it sounds.

Windows Update uses TXF. So it is being used quite heavily in terms of frequency. Now, it isn't doing any multi-node work and it isn't going through DTC or anything fancy like that, but it is using TXF to manipulate file state. It coordinates these changes with changes to the registry (TXR). Does that count?

A colleague of mine presented this talk to SNIA, which is pretty frank about a lot of the work around TXF and might shed a little more light. If you're thinking of using TXF, it's worth a read.

like image 55
jrtipton Avatar answered Oct 31 '22 18:10

jrtipton