微軟推新一代事務性檔案系統——TxF
微軟推新一代事務性檔案系統——TxF[@more@]來自:infoq中文站
MSDN雜誌7月刊中對新的檔案系統作了介紹,作為Windows平臺一項“革命性”的新技術特性,Vista和將要釋出的Longhorn中會支援並不斷加強具有事務性的檔案系統——TxF。
對於從事服務端開發的技術人員而言,使用事務,尤其是控制分散式操作的事務是個至關重要的能力,如果某個環節“拿捏”不當,將在系統運維過程中用數十倍甚至數百倍的精力來解決。之前檔案系統一直被作為一個典型的非事務性物件使用,也就是當資料庫、佇列、WCF等事務性物件在某種條件下回退的時候,中間操作過的檔案系統也會保留痕跡;與之不同的是,TxF = NTFS + Tx,也就是檔案系統也具有操作上的“All or Nothing”的事務性特徵。在文章中,作者列舉了這一檔案系統的三個優勢“提升應用穩定性”、“提升平臺穩定性”和“增加創新機會”:藉助TxF可以有效減少應用在異常情況下的“掃尾”工作,應用的可靠性交給作業系統保證。
在不使用TxF的時候,如果事務本身有多層巢狀,而且呼叫環境又是分散式環境,那麼每處涉及檔案訪問的位置都需要“設防”。需要回退的話,如何通知遠端檔案系統本身就很困難(限於各種訪問控制策略),加之錯誤本身很多時候就是因為連通性原因導致;在TxF環境下,應用不需要關心事務的層次,也不需要關心連通性故障。另外,使用TxF對於線上軟體更新之類的應用特性也很有用,“半拉子”的情況最令人頭疼,這種情況下應該考慮TxF的All or Nothing了。
但另外一個重要的地方是提供了一個“選項”——檔案操作在異常處理時怎麼辦。實現方式上,TxF依賴於作業系統中KTM(Kernel Transaction Manager),而KTM可以與大家熟悉的DTC進行互動,相當於TxF可以間接地和任何支援DTC的技術進行事務協同。包括:
所有主流商用資料庫平臺、支援DTC分散式事務的開源資料庫平臺。
透過WS-AtomicTransaction協議保證的Web Service呼叫。
宣告為OleTransactionProtocol的WCF。
還有各主要商用佇列產品。
再外延的話,由於DTC本身對XA-Transactions有支援,所以TxF甚至可以把操作Enlist到異構作業系統平臺的事務管理產品中。
雖然TxF為開發人員開闢了一個非常廣闊的呼叫空間,但它只是個“選項”,非事務性的檔案系統在很多應用情境下還是非常必要的,諸如:
“業務操作日誌”,必須保證它不會隨著業務操作的回退而被“擦”掉。
還有就是長事務的情況,過多被開啟而未關閉的檔案將成為伺服器的負載,尤其在當機重啟後,“掃尾”工作將成為系統的負擔。
另外就是檔案系統本身不適合多Writer的情況,每次一個TxF檔案僅允許一個Writer寫入(除非其它Writer與之在同一個事務內)。
MSDN雜誌7月刊中對新的檔案系統作了介紹,作為Windows平臺一項“革命性”的新技術特性,Vista和將要釋出的Longhorn中會支援並不斷加強具有事務性的檔案系統——TxF。
對於從事服務端開發的技術人員而言,使用事務,尤其是控制分散式操作的事務是個至關重要的能力,如果某個環節“拿捏”不當,將在系統運維過程中用數十倍甚至數百倍的精力來解決。之前檔案系統一直被作為一個典型的非事務性物件使用,也就是當資料庫、佇列、WCF等事務性物件在某種條件下回退的時候,中間操作過的檔案系統也會保留痕跡;與之不同的是,TxF = NTFS + Tx,也就是檔案系統也具有操作上的“All or Nothing”的事務性特徵。在文章中,作者列舉了這一檔案系統的三個優勢“提升應用穩定性”、“提升平臺穩定性”和“增加創新機會”:藉助TxF可以有效減少應用在異常情況下的“掃尾”工作,應用的可靠性交給作業系統保證。
在不使用TxF的時候,如果事務本身有多層巢狀,而且呼叫環境又是分散式環境,那麼每處涉及檔案訪問的位置都需要“設防”。需要回退的話,如何通知遠端檔案系統本身就很困難(限於各種訪問控制策略),加之錯誤本身很多時候就是因為連通性原因導致;在TxF環境下,應用不需要關心事務的層次,也不需要關心連通性故障。另外,使用TxF對於線上軟體更新之類的應用特性也很有用,“半拉子”的情況最令人頭疼,這種情況下應該考慮TxF的All or Nothing了。
但另外一個重要的地方是提供了一個“選項”——檔案操作在異常處理時怎麼辦。實現方式上,TxF依賴於作業系統中KTM(Kernel Transaction Manager),而KTM可以與大家熟悉的DTC進行互動,相當於TxF可以間接地和任何支援DTC的技術進行事務協同。包括:
所有主流商用資料庫平臺、支援DTC分散式事務的開源資料庫平臺。
透過WS-AtomicTransaction協議保證的Web Service呼叫。
宣告為OleTransactionProtocol的WCF。
還有各主要商用佇列產品。
再外延的話,由於DTC本身對XA-Transactions有支援,所以TxF甚至可以把操作Enlist到異構作業系統平臺的事務管理產品中。
雖然TxF為開發人員開闢了一個非常廣闊的呼叫空間,但它只是個“選項”,非事務性的檔案系統在很多應用情境下還是非常必要的,諸如:
“業務操作日誌”,必須保證它不會隨著業務操作的回退而被“擦”掉。
還有就是長事務的情況,過多被開啟而未關閉的檔案將成為伺服器的負載,尤其在當機重啟後,“掃尾”工作將成為系統的負擔。
另外就是檔案系統本身不適合多Writer的情況,每次一個TxF檔案僅允許一個Writer寫入(除非其它Writer與之在同一個事務內)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10172717/viewspace-972034/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mac系統檔案屬性Mac
- cifs檔案系統{samba檔案共享服務}Samba
- 檔案系統和檔案 API 安全性缺失指南API
- 《推薦系統學習》之推薦系統那點事
- XSKY新一代分散式檔案系統XGFS揭秘——後設資料服務分散式
- 推薦2款檔案系統中查詢檔案的工具
- Linux系統中常見的分散式檔案系統推薦!Linux分散式
- 推薦系統的那點事
- 分散式系統事務一致性解決方案分散式
- 檔案系統(七):檔案系統崩潰一致性、方法、原理與侷限
- 檔案和檔案系統
- Linux系統篇-檔案系統&虛擬檔案系統Linux
- UNIX根檔案系統和附加檔案系統
- Linux系統配置NFS檔案共享服務LinuxNFS
- 檔案系統
- zt_redhat配置gfs_全域性檔案系統Redhat
- 檔案系統(五):exFAT 檔案系統原理詳解
- 事務的屬性
- 個性化推薦系統來了
- 隨行付微服務之分散式檔案系統微服務分散式
- Linux系統檔案系統及檔案基礎篇Linux
- 【檔案系統】嵌入式檔案系統Fatfs簡介
- 檔案系統(十):一文看懂 UBI 檔案系統
- win10系統txt檔案怎麼改屬性_win10 txt檔案如何更改屬性Win10
- 分散式檔案系統(HDFS)與 linux系統檔案系統 對比分散式Linux
- 檔案系統--fstab
- tmpfs檔案系統
- 系統配置檔案
- 檔案系統安全
- FUSE檔案系統
- ASM與檔案系統之間copy資料檔案--檔案系統到ASMASM
- MIT 6.S081 聊聊xv6的檔案系統(中)日誌層與事務MIT
- 分散式系統(三)——分散式事務分散式
- 事務系統的隔離級別
- 【Solaris】Solaris檔案系統管理1 UFS檔案系統的建立
- 【Solaris】Solaris檔案系統管理3 ZFS檔案系統的建立
- 檔案系統(四):FAT32檔案系統實現原理
- mongodb 的事務性操作MongoDB