/
Using Transactional NTFS (TxF) in .NET Using Transactional NTFS (TxF) in .NET

Using Transactional NTFS (TxF) in .NET - PowerPoint Presentation

myesha-ticknor
myesha-ticknor . @myesha-ticknor
Follow
418 views
Uploaded On 2017-06-27

Using Transactional NTFS (TxF) in .NET - PPT Presentation

Mark S Rasmussen iPaper ApS improvedk Whois Technical Lead iPaper ApS Udvikler DBA Sysadmin Projektleder M icrosoft D esignated I nformation P rovider Agenda Overblik Resource ID: 563900

dtc ktm samarbejde transaction ktm dtc transaction samarbejde txf managers med transacted til operationer fil win32 kun transaktion bnet system performance isolation

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Using Transactional NTFS (TxF) in .NET" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Using Transactional NTFS (TxF) in .NET

Mark S. Rasmussen

iPaper ApS

improve.dkSlide2

Whois

Technical Lead @

iPaper

ApSUdviklerDBASysadminProjektlederMicrosoft Designated Information ProviderSlide3

Agenda

Overblik

Resource

managersTransaction managersWin32 APILocking / isolationPerformanceSikkerhedI produktionTxRSlide4

Overblik

Transaktionel

understøttelse af alle fil operationer

Reads, writes, rename, move, etc.ACIDHvad gjorde vi før?Skriv, 2 x rename, sletFejlhåndteringSlide5

Overblik

Hvornår

giver

TxF mening?Ændring af filÆndring af flere filerKonsistente samtidige opdateringerKonsistente ændringer på tværs af systemer (fil / DB)TestsKravNTFS

Vista SP1 / Server 2008Slide6

TxF Begrænsninger

Network

shares

– CIFS/SMBCached filerMultiple writersKrypterede filerOg dog – non transaktionel operation, med begrænsningerLangtidsvarige transaktioner (relativ)Slide7

Resource managers

Har ansvaret for ændringen af

en ressource

Typisk brugte durable RMs:SqlConnectionNTFS volumesRegistry hiveSamarbejder med Transaction Managers (MSDTC / KTM / LTM)To typerDurableVolatileSlide8

Resource managers

Flere

måder en RM kan deltage i en transaktion håndteret af en TMTransaction.EnlistDurableTransaction.EnlistVolatileTransaction.EnlistPromotableSinglePhase

PSPE for performanceSlide9

Kernel Transaction Manager

Både

kernel

og user mode servicesSystem.TransactionsEksplicit / ImplicitTransactionTransactionScopeHurtig two phase commit indenfor samme maskineWin32/COM og

System.Transactions interfacesSlide10

DTC / KTM samarbejde

DTC håndterer sammenspillet mellem flere

distribuerede transaktioner

Både lokalt, remote og kombinationerKTM transaktion eskaleres til DTC efter behovKTM eksponerer API for transaction controllereDTC kender til KTM, men ikke omvendtSlide11

DTC / KTM samarbejdeSlide12

DTC / KTM samarbejde

Direkte til KTM

Begrænset til kun

KRMs indenfor samme appdomainKun én durable transactionSlide13

DTC / KTM samarbejde

KTM, via DTC

DTC skaffer et transaktions handle fra KTM til os

Ingen begrænsningerSlide14

DTC / KTM samarbejde

System.Transactions

Samme funktionalitet & fremgangsmåde som KTM via DTC, blot med

managed interfacesSlide15

DTC / KTM samarbejdeSlide16

Win32 fil operationer

Non-transacted

CreateFile

CopyFileMoveFileDeleteFileCreateHardLinkCreateSymbolicLinkCreateDirectoryRemoveDirectorySlide17

Win32 fil operationer

Transacted

CreateFileTransacted

CopyFileTransactedMoveFileTransactedDeleteFileTransactedCreateHardLinkTransactedCreateSymbolicLinkTransactedCreateDirectoryTransactedRemoveDirectoryTransactedSlide18

CreateFileSlide19

TransactedFile.OpenSlide20

TransactedFile.WriteAllTextSlide21

Locking

/

isolation

Read committedNon-transacted writers altid blokeretOgså selvom åbnet med shared-writeTransacted readerSer committed version fra reader handle blev åbnetBlokerer non-transacted writers – men kun så længe handle er åbent!

Non-transacted writer blokerer transacted

reader/writerSlide22

Locking / isolation

Filniveau

ERROR_SHARING_VIOLATION, ERROR_TRANSACTIONAL_CONFLICT

Én gang åbnet for write – altid åbnet som writeIndenfor transaktionSlide23

Performance

Koster kun når vi benytter

transacted

operationerOptimeret for commitsModifikation af eksisterende data = 2 x IO,$TOPSMetadata operationer, nyt data, slet etc – meget lavt overhead (1-2%)Pas på recovery tider ved distribuerede transaktioner! Afhængigheder kan låse filer.Slide24

Sikkerhed

TxF wrapper via

P/Invoke

P/Invoke = implicit FullTrust LinkDemandFullTrust ofte problematisk i webappsGateway assemblies med APTCASlide25

DemoSlide26

TxF i produktion

Nej – vi bruger det ikke... Endnu

SAN

storage via CIFSPå vej - deployment af nye website versionerInterruptions under overskrivelseFlere sites samtidigtMicrosoft bruger det

Windows UpdateSystem RestoreTask

SchedulerWeb Deployment

ToolSlide27

Transactional registry (TxR)

Lignende funktionalitet

KTM / DTC integration

TxR + TxF = nem installer rollbackSlide28

improve.dk