使用Transactional NTFS(TxF)获得任何真实的企业级体验?

背景:

我知道关于Transactional NTFS(TxF)和本文描述如何使用它的这个问题,但是我正在寻找具有大量blob数据的合理大批量企业系统的 实际经验 (比如文档和/或照片)需要在交易后持久并多次阅读

  • 我们期待每天写入数万个文档,每小时读取几万个文档。
  • 我们可以在文件系统或SQL Server中存储索引,但必须能够在几个框中扩展它。
  • 我们必须保留为灾难恢复轻松备份和恢复数据的能力。

问题:

  • 使用Transactional NTFS(TxF)获得任何真实的企业级体验?

相关问题:

  • 有人尝试使用TxF进行分布式事务,同一文件同时提交给两个镜像服务器吗?
  • 有人尝试过使用文件系统和数据库的分布式事务吗?
  • 您可以分享任何性能问题/可靠性问题/性能数据? 在交易成为问题之前,有没有人甚至做过这种规模的事情?

编辑 :为了更清楚,我已经研究了其他技术,包括SQL Server 2008的新FILESTREAM数据类型,但是这个问题仅针对事务文件系统

更多资源:

  • 有关TxF的MSDN杂志文章称为“使用文件系统事务增强您的应用程序” 。
  • 一个名为“Transactional Vista:内核事务管理器和朋友(TxF,TxR)”的网络广播。 这段video引用了使用2-5%的TxF的开销,性能讨论开始大约25分钟。这是我发现的第一组硬数字。 这段video非常好地概述了它如何在幕后工作。 在大约34:30,演讲者描述了与这个问题非常相似的情景。
  • 频道9的截屏video名为“Surendra Verma:Vista Transactional File System” 。 他在35分钟左右开始谈论表现。没有硬数据。
  • B#.NET博客上的TxF文章列表。
  • 频道9的截屏video称为“事务性NTFS” 。

我认为“真实世界,企业级”的体验比听起来更主观。

Windows Update使用TXF。 因此它在频率方面被大量使用。 现在,它没有进行任何多节点工作,也没有通过DTC或类似的任何东西,但它使用TXF来操纵文件状态。 它通过对注册表(TXR)的更改来协调这些更改。 这算得上吗?

我的一位同事向SNIA介绍了这个谈话 ,这非常坦率地讲述了TXF的许多工作,可能会有更多的亮点。 如果您正在考虑使用TXF,那么值得一读。

不幸的是,似乎答案是“不”。

在接下来的两周内(一周有100点赏金)和156次观看,没有人回答他们已经使用TxF进行任何大批量应用,正如我所描述的那样。 我不能说这是意料之外的,当然我不能certificate是消极的,但看起来Windows的这个特性并不为人所熟知或经常使用,至少在撰写本文时,至少是SO社区的活跃成员。

如果我开始写一些概念certificate,我会在这里发布我学到的东西。

您是否考虑过SQL Server 2008中的文件流支持 (如果您当然使用的是SQL Server 2008)? 我不确定性能,但它提供了事务性并支持备份/恢复。

虽然我没有丰富的TxF经验,但我确实有MS DTC的经验。 TxF本身相当高效。 当你引入MS DTC来处理多台机器上的多个资源管理器时,性能会受到很大影响。

从您的描述中可以看出,您存储和索引非常大量的非结构化数据。 我假设您还需要能够搜索此数据。 因此,我强烈建议您查看Microsoft的Dryad或Google的MapReduce以及高性能的分布式文件系统来处理非结构化数据存储和索引。 存储和索引大量blob数据的大批量企业系统的最佳示例是Bing和Google等互联网搜索引擎。

有很多资源可用于管理高吞吐量非结构化数据,它们可能比SQL Server和NTFS更有效地解决您的问题。

我知道它比你想要的更开箱即用……但你确实提到你已经耗尽了NTFS / TxF / SQL盒子周围的所有其他搜索途径。 ;)

Ronald:FileStream是在TxF之上分层的。

JR:虽然Windows Update使用TxF / KTM并演示它的实用程序,但它不是高吞吐量应用程序。