765 Shares 1016 views

Che cosa è una transazione? sistemi di elaborazione delle transazioni

In un mondo dove tutto sta cambiando così rapidamente, non possiamo per una sosta minuto. Questo vale per la ricezione di nuove informazioni. Unknown termine o l'ultima versione del software – è l'occasione per riempire la conoscenza in una particolare area. Oggi parleremo di ciò che la transazione, come funziona.

Introduzione alla terminologia

Una varietà di software per l'automazione dei processi di business saldamente affermata sul mercato negli ultimi 15 anni. Ciò richiede la capacità di lavorare con il software a diversi livelli di interazione: come operatore, programmatore, commercialista, ecc Pertanto, è importante comprendere alcuni dei meccanismi del programma. Per cominciare, cerchiamo di affrontare tali frequenti e spaventose molti termini di una transazione. Il più delle volte, di prendere in prestito le parole della bella nascosto lontano da un fenomeno così complesso, come molti si rendono conto, emettendo un nuovo termine, provando a orecchio. Cerchiamo di capire che una tale operazione.

la definizione

Questa notazione è usato per riferirsi a qualsiasi prodotto che implementa il database. Diverse operazioni sono logicamente combinati in un unico e funzionante alternativamente gli uni agli altri, e v'è una transazione. Nella vita di tutti i giorni, la transazione può essere considerato come una catena di procedure, come "sveglio – lavato – vestita – prima colazione – è andato a lavorare."

Si consideri il concetto di cui sopra per Esempio 1C prodotti. Transazione – questa è la stessa sequenza indivisibile. Un buon modello può servire come un record del gruppo delle materie prime: l'apertura della directory desiderata, creare una nuova voce, compilando i campi. Per garantire che tutte queste azioni hanno portato al risultato desiderato, è necessario attuare rigorosamente dal primo all'ultimo. Solo allora la procedura sarà considerata un successo. In caso contrario, l'operazione viene annullata.

Questi processi possono essere sia automatica, che è previsto nel sistema, e manualmente dallo sviluppatore per terminare dopo l'acquisto del prodotto finito al fine di rendere queste ultime più facile per gli utenti di una particolare azienda. Inoltre, la modalità automatica, quando il comportamento del sistema è regolato da meccanismo incorporato, transazioni può essere convertito per funzionare.

Le transazioni nel 1C: le sottigliezze del linguaggio built-in

Che cosa è una transazione nel caso generale, possiamo capire. Ma dal momento che ogni azienda impegnata nello sviluppo di software, il che rende la propria strada, ci sono alcune differenze tra le transazioni, in generale, e le operazioni in 1C in particolare. Ad esempio, il annidato (transazione ai transazione) non sono supportati in 1C.

Dal punto di vista degli operatori di sintassi incorporate in un linguaggio abbastanza semplice. Avvio del processo è annunciata da una procedura speciale BeginTransaction (). Procedura ZafiksirovatTranzaktsiyu () viene utilizzato per registrare modifiche durante l'esecuzione di operazioni. Se nel processo fallisce, è possibile OtmenitTranzaktsiyu () per annullare le modifiche impegnati.

Perché usare una transazione è preferibile? Poiché il codice in queste procedure è molto più veloce. E 'a questo e cerca qualsiasi programmatore. La differenza di velocità potrebbe non essere così evidente se gli utenti 1C in ufficio 1-2 dipendenti, ma è impossibile non sentire quando si tratta di interi reparti, allo stesso tempo, per eseguire diverse opere in questo programma.

insidie

Oltre agli ovvi vantaggi, che consistono in un grave aumento della velocità di lettura e registrazione quando si lavora con il database, in una transazione c'è un meno. Torniamo all'esempio precedente della vita. Che cosa è una transazione che non è fatto da una sola persona, e tutta la famiglia? Ognuno sta cercando di entrare in bagno a lavarsi prima di tutto folla in cucina perché è ora di colazione. Di conseguenza, i membri della famiglia sono infelici con l'altro. Nella migliore delle ipotesi, è solo un brutto inizio della giornata, e nel peggiore dei casi – essere in ritardo per il lavoro, un rimprovero dai suoi superiori, per contrastare.

Nel programma c'è lo stesso. Se tutti gli utenti inizieranno a modificare i dati allo stesso tempo, nello stesso documento, che è considerato l'ultima versione? Quali dati consente di salvare? Al fine di evitare tale confusione, v'è un meccanismo di bloccaggio. Ciò significa che mentre un utente sta lavorando su un documento, la seconda collocati nella coda virtuale e aspetta. In caso di superamento o rollback il documento non può funzionare l'utente successivo.

O non può essere controllato serrature?

Il concetto di una transazione non può essere completamente affrontata senza il problema di serrature eccessivi. Qual è il male maggiore: l'assenza di serrature che conducono al processo anomalo di lettura e scrittura con i risultati errati in uscita, o troppi, il funzionamento inibendo di tutta l'impresa?

La soluzione migliore – controllato serrature, che sono il giusto mezzo. Un programmatore competente in grado di personalizzare un meccanismo esistente per le esigenze dell'organizzazione in modo che i documenti veramente importanti sono trattati nella coda ordine. Secondo gli stessi elementi di configurazione, che non richiedono serrature, è possibile consentire la modifica gratuitamente.

Così, un'analisi puntuale delle operazioni e l'atteggiamento giusto per bloccare permette il pieno utilizzo della flessibilità del sistema "1C: Enterprise" e ottimizzare il funzionamento del database, riducendo al minimo le perdite di tempo.

Quali sono le cause di blocco eccessiva?

La domanda non è retorica. Se necessario rimuovere il blocco, ci saranno confusione e caos. Il database raccoglierà i dati errati a causa delle simultanee saldi write-off, o, al contrario, l'accantonamento dei beni. Ma le conseguenze di un tale tipo che emergerà in una sola volta. La prima volta, il lavoro andrà rapidamente, creando l'illusione di correttezza della scelta del fallimento di blocco. D'altra parte, un gran numero di blocchi mal concepite immediatamente causando i messaggi di errore. "Impossibile completare transazione sicura" – avverte il nostro sistema. Che cosa significa? Due reciprocamente bloccati transazione all'altro in modo che nessuno può o completare il lavoro, o per effettuare la cancellazione. Il circolo vizioso della transazione "morto" si bloccherà nel database prima rilevazione, riducendo in modo significativo le prestazioni del sistema.

Inutili azioni di cancellazione intervento chirurgico per aumentare il numero di voci nel registro. Inoltre, tale sistema non è praticabile, perché anche maggiore utente semplicemente seppellire sotto il peso delle serrature "morti". I tempi di inattività è sempre in crescita. Come evitare tali situazioni?

I livelli di isolamento – un modo per non arenarsi

A parte il fatto che una tale operazione, di cui abbiamo parlato circa le insidie. Continuando l'analogia, possiamo tranquillamente affermare che la variazione del livello di blocco – uno strumento affidabile un pilota in un viaggio alla 1C mare. Ci sono due livelli di isolamento: "sola lettura, nessuna voce" e "no la registrazione o la lettura." Nella selezione della modalità automatica non è disponibile. Ma è sufficiente a tradurre l'applicazione in modalità gestita, e si può mettere restrizioni "intelligenti", scegliendo non solo i documenti importanti, ma anche assegnando loro un adeguato livello di isolamento.

Tuttavia, il lavoro messo in scena ben– è, soprattutto, la prevenzione di situazioni di emergenza, e non solo tempestiva liquidazione è già verificato fallimenti. amministratore di database Assistente fornirà i sistemi di elaborazione delle transazioni. E 'sulla base di tali dati, come è stato qualsiasi intervento sul sistema, se sono stati completati o cancellati con successo, è possibile prevedere l'ulteriore comportamento del sistema e prevenire le potenziali minacce.

Una sintesi generale

Abbiamo affrontato con la definizione della transazione, considerato un diagramma di flusso del processo dall'interno, fatto conoscenza con i diversi modi di operazioni di regolazione all'interno di una singola base di dati.

Come si vede, il meccanismo non è facile, ma facile da capire e affrontare meglio i programmatori meno esperti e amministratori di database. metodi di controllo non possono ancora essere portati alla perfezione, e per evitare problemi in una modalità completamente automatica, anche, non è possibile, ma, comunque, con ogni nuova versione della vita sviluppatore di software diventa più facile.