Hareket işleme - Transaction processing

Hareket işleme bilgi işleniyor mu bilgisayar Bilimi bireysel, bölünmez işlemlere bölünmüş olan işlemler. Her işlem başarılı olmalı veya başarısız tam bir birim olarak; asla sadece kısmen tamamlanamaz.

Örneğin, çevrimiçi bir kitapçıdan bir kitap satın aldığınızda, bir kitap için para (kredi biçiminde) değiştirirsiniz. Krediniz iyiyse, bir dizi ilgili işlem kitabı almanızı ve kitapçı paranızı almanızı sağlar. Ancak değişim sırasında serideki tek bir işlem başarısız olursa tüm değişim başarısız olur. Kitabı alamazsın ve kitapçı paranı almaz. Borsayı dengeli ve öngörülebilir hale getirmekten sorumlu teknolojiye işlem işleme denir. İşlemler, işlem birimindeki tüm işlemler başarıyla tamamlanmadıkça veri odaklı kaynakların kalıcı olarak güncellenmemesini sağlar. Bir dizi ilgili işlemi ya tamamen başarılı olan ya da tamamen başarısız olan bir birimde birleştirerek, hata kurtarmayı basitleştirebilir ve uygulamanın daha güvenilir olmasını sağlayabilir.

İşlem işleme sistemleri, iş yapmak için gerekli rutin işlemleri gerçekleştiren işlem odaklı bir uygulamayı barındıran bilgisayar donanımı ve yazılımından oluşur. Örnekler arasında satış siparişi girişini, havayolu rezervasyonlarını, maaş bordrosunu, çalışan kayıtlarını, üretimi ve nakliyeyi yöneten sistemler yer alır.

Hepsi olmasa da çoğu, günümüzde işlem işleme etkileşimli olduğundan, bu terim genellikle çevrimiçi işlem işleme.

Açıklama

İşlem işleme, bir sistemin Bütünlüğünü (tipik olarak bir veri tabanı veya biraz modern dosya sistemleri ) sistemdeki birbirine bağlı işlemlerin tamamının başarıyla tamamlanmasını veya tümünün başarıyla iptal edilmesini sağlayarak bilinen, tutarlı bir durumda.

Örneğin, 700 $ 'ı bir müşterinin tasarruf hesabından müşterinin çek hesabına taşımayı içeren tipik bir bankacılık işlemini düşünün. Bu işlem, bilgisayar açısından en az iki ayrı işlemi içerir: tasarruf hesabından 700 dolar borçlandırma ve çek hesabına 700 dolar kredi verme. Bir işlem başarılı olurken diğeri başarısız olursa gün sonunda bankanın defterleri dengelenmeyecektir. Bu nedenle, bankanın veritabanında bir bütün olarak herhangi bir tutarsızlık olmaması için her iki işlemin de başarılı olmasını veya her ikisinin de başarısız olmasını sağlamanın bir yolu olmalıdır.

İşlem işleme, birden çok işlemi tek, bölünemez bir işlemde birbirine bağlar ve bir işlemdeki tüm işlemlerin hatasız tamamlanmasını veya hiçbirinin olmamasını sağlar. İşlemlerden bazıları tamamlanır ancak diğerleri denendiğinde hatalar oluşursa, işlem işleme sistemi "geri alınır" herşey (başarılı olanlar da dahil olmak üzere) işlemin işlemlerinin tamamlanması, böylece işlemin tüm izlerinin silinmesi ve sistemin işlem başlamadan önceki tutarlı, bilinen duruma geri yüklenmesi. Bir işlemin tüm işlemleri başarıyla tamamlanırsa, işlem kararlı sistem tarafından ve veri tabanındaki tüm değişiklikler kalıcı hale getirilir; bu yapıldıktan sonra işlem geri alınamaz.

İşlem işleme, bir işlemi kısmen tamamlanmış olarak bırakabilecek donanım ve yazılım hatalarına karşı koruma sağlar. Bilgisayar sistemi bir işlemin ortasında çökerse, işlem işleme sistemi, herhangi bir taahhüt edilmeyen işlemdeki tüm işlemlerin iptal edilmesini garanti eder.

Genellikle işlemler eşzamanlı olarak yapılır. Örtüşüyorlarsa (yani, veritabanının aynı kısmına dokunmaları gerekiyorsa), bu çatışmalara neden olabilir. Örneğin, yukarıdaki örnekte bahsedilen müşterinin birikim hesabında 150 $ varsa ve aynı anda 100 $ 'ı çek hesabına aktarırken başka bir kişiye 100 $ aktarmaya çalışırsa, bunlardan yalnızca biri başarılı olabilir. Ancak, işlemleri sıralı olarak işlenmeye zorlamak verimsizdir. Bu nedenle, işlem işlemenin eşzamanlı uygulamaları, nihai sonucun çatışmasız bir sonucu yansıttığını garanti edecek şekilde programlanır; işlemlerin herhangi bir sırayla ( serileştirilebilirlik ). Örneğimizde, bu, hangi işlemin önce yapıldığına bakılmaksızın, başka bir kişiye transferin veya çek hesabına geçişin başarılı olurken diğerinin başarısız olduğu anlamına gelir.

Metodoloji

Tüm işlem işleme sistemlerinin temel prensipleri aynıdır. Bununla birlikte, terminoloji, bir işlem işleme sisteminden diğerine değişebilir ve aşağıda kullanılan terimler mutlaka evrensel değildir.

Geri alma

İşlem işleme sistemleri, değiştirilirken veritabanının ara durumlarını kaydederek ve ardından bir işlem gerçekleştirilemiyorsa veritabanını bilinen bir duruma geri yüklemek için bu kayıtları kullanarak veritabanı bütünlüğünü sağlar. Örneğin, veri tabanındaki bilgilerin kopyaları önceki bir işlem tarafından değiştirilmesine, işlem herhangi bir değişiklik yapmadan önce sistem tarafından bir kenara bırakılır (buna bazen görüntüden önce). İşlemin herhangi bir bölümü tamamlanmadan önce başarısız olursa, bu kopyalar veritabanını işlem başlamadan önceki durumuna geri yüklemek için kullanılır.

İleri doğru yuvarlan

Ayrı tutmak da mümkündür. günlük bir veritabanı yönetim sistemindeki tüm değişiklikler. (bazen aranır görüntülerden sonra). Bu, başarısız işlemlerin geri alınması için gerekli değildir, ancak bir veritabanı arızası durumunda veritabanı yönetim sistemini güncellemek için kullanışlıdır, bu nedenle bazı işlem işleme sistemleri bunu sağlar. Veritabanı yönetim sistemi tamamen başarısız olursa, en son yedeklemeden geri yüklenmelidir. Yedekleme, yedekleme yapıldıktan sonra yapılan işlemleri yansıtmayacaktır. Bununla birlikte, veritabanı yönetim sistemi geri yüklendikten sonra, ardıl görüntülerin günlüğü veritabanına uygulanabilir (ileri doğru yuvarlan) veritabanı yönetim sistemini güncel hale getirmek. Arıza anında devam eden herhangi bir işlem daha sonra geri alınabilir. Sonuç, başarısızlık anına kadar taahhüt edilen tüm işlemlerin sonuçlarını içeren tutarlı, bilinen bir durumda olan bir veritabanıdır.

Kilitlenmeler

Bazı durumlarda, iki işlem, işleme sırasında, bir veritabanının aynı kısmına aynı anda, devam etmelerini engelleyecek şekilde erişmeye çalışabilir. Örneğin, A işlemi veri tabanının X bölümüne erişebilir ve B işlemi veri tabanının Y bölümüne erişebilir. Bu noktada, A işlemi veritabanının Y kısmına erişmeye çalışırsa, B işlemi X kısmına erişmeye çalışırsa, kilitlenme gerçekleşir ve hiçbir işlem ilerleyemez. İşlem işleme sistemleri, bu kilitlenmeleri meydana geldiklerinde tespit etmek için tasarlanmıştır. Tipik olarak her iki işlem de iptal edilir ve geri alınır ve ardından kilitlenmenin tekrar oluşmaması için otomatik olarak farklı bir sırada yeniden başlatılır. Veya bazen, kilitlenen işlemlerden yalnızca biri iptal edilir, geri alınır ve kısa bir gecikmeden sonra otomatik olarak yeniden başlatılır.

Kilitlenmeler, üç veya daha fazla işlem arasında da ortaya çıkabilir. İşlem işleme sistemleri, tespit edebilecekleri kilitlenmeler için pratik bir sınır olduğunu buldukları noktaya kadar, ne kadar çok işlem dahil edilirse, tespit edilmesi o kadar zor olur.

Telafi edici işlem

Kaydetme ve geri alma mekanizmalarının mevcut olmadığı veya istenmediği sistemlerde, tazminat işlemi genellikle başarısız işlemleri geri almak ve sistemi önceki bir duruma geri yüklemek için kullanılır.

ACID kriterleri

Jim Gray 1970'lerin sonlarında kısaltma altında güvenilir bir işlem sisteminin tanımlanmış özellikleri ASİT - atomiklik, tutarlılık, izolasyon ve dayanıklılık.[1]

Atomiklik

Bir işlemin durumdaki değişiklikleri atomiktir: ya hepsi olur ya da hiç olmaz. Bu değişiklikler arasında veritabanı değişiklikleri, mesajlar ve dönüştürücülerle ilgili eylemler yer alır.

Tutarlılık

Tutarlılık: İşlem, durumun doğru bir dönüşümüdür. Grup olarak alınan eylemler, devletle ilgili bütünlük kısıtlamalarının hiçbirini ihlal etmez.

İzolasyon

İşlemler eşzamanlı olarak yürütülse de, her T işlemine, diğerlerinin T'den önce veya T'den sonra gerçekleştirdiği, ancak her ikisinin birden gerçekleştirmediği görülüyor.

Dayanıklılık

Bir işlem başarıyla tamamlandığında (taahhüt ettiğinde), veritabanında yaptığı değişiklikler hatalardan kurtulur ve değişikliklerini korur.

Faydaları

İşlem gerçekleştirmenin şu avantajları vardır:

  • Bilgisayar kaynaklarının birçok kullanıcı arasında paylaşılmasına izin verir
  • İş işleme süresini, bilgi işlem kaynaklarının daha az meşgul olduğu zamana kaydırır
  • Dakika dakika insan etkileşimi ve denetimi olmadan bilgi işlem kaynaklarının boşta kalmasını önler
  • Pahalı bilgisayar sınıflarında, bu pahalı kaynakların yüksek kullanım oranlarını koruyarak maliyeti amorti etmeye yardımcı olmak için kullanılır.

Dezavantajları

  • Nispeten pahalı kurulum maliyetlerine sahiptirler
  • Standart format eksikliği var
  • Donanım ve yazılım uyumsuzluğu

Uygulamalar

Standart işlem işleme yazılım, gibi IBM 's Bilgi Yönetim Sistemi, ilk olarak 1960'larda geliştirildi ve genellikle belirli bir Veritabanı Yönetim Sistemleri. İstemci-sunucu bilgi işlem benzer ilkeleri 1980'lerde karışık bir başarıyla uyguladı. Ancak, son yıllarda, dağıtılmış istemci-sunucu modelinin bakımı önemli ölçüde daha zor hale geldi. Çeşitli çevrimiçi hizmetlere yanıt olarak işlem sayısı arttıkça (özellikle ), tek bir dağıtılmış veritabanı pratik bir çözüm değildi. Buna ek olarak, çoğu çevrimiçi sistem, tek bir sunucunun işlem sürecini gerçekleştirebildiği katı bir istemci-sunucu modelinin aksine, birlikte çalışan bir dizi programdan oluşur. Günümüzde, programlar arası seviyede çalışan ve aşağıdakiler dahil büyük sistemlere ölçeklenen bir dizi işlem işleme sistemi mevcuttur: anabilgisayarlar.

Bir çaba X / Açık Dağıtılmış İşlem İşleme (DTP) (ayrıca bakınız Java İşlem API'si (JTA). Ancak, IBM'inki gibi tescilli işlem işleme ortamları CICS hala çok popüler[kaynak belirtilmeli ] CICS açık endüstri standartlarını da içerecek şekilde gelişmiştir.

Ekstrem işlem işleme (XTP) terimi, alışılmadık derecede zorlayıcı gereksinimlere, özellikle verim gereksinimlerine (saniye başına işlem) sahip işlem işleme sistemlerini tanımlamak için kullanılmıştır. Bu tür sistemler, dağıtılmış veya küme tarzı mimariler aracılığıyla uygulanabilir. En az 2011 yılına kadar kullanıldı.[2][3]

Referanslar

  1. ^ Grey, Jim; Reuter, Andreas. "İşlem İşleme - Kavramlar ve Teknikler (Powerpoint)". Alındı 12 Kasım 2012.
  2. ^ Koen Vanderkimpen ve Dirk Deridder. "Sağlık için eXtreme'ye Geçiş". Devoxx 2011 sunumu. Alındı 18 Mart, 2017.
  3. ^ Kevin Roebuck (2011). Ekstrem İşlem İşleme. Yıldırım Kaynağı. ISBN  978-1-74304-266-3.

daha fazla okuma

  • Gerhard Weikum, Gottfried Vossen, İşlemsel bilgi sistemleri: teori, algoritmalar ve eşzamanlılık kontrolü ve kurtarma pratiğiMorgan Kaufmann, 2002, ISBN  1-55860-508-8
  • Jim Gray, Andreas Reuter, Transaction Processing - Concepts and Techniques, 1993, Morgan Kaufmann, ISBN  1-55860-190-2
  • Philip A. Bernstein, Eric Newcomer, Principles of Transaction Processing, 1997, Morgan Kaufmann, ISBN  1-55860-415-4
  • Ahmed K. Elmagarmid (Editör), Gelişmiş Veritabanı Uygulamaları için İşlem Modelleri, Morgan-Kaufmann, 1992, ISBN  1-55860-214-3

Dış bağlantılar