Hareket işleme - Transaction processing

İşlem gerçekleştirme bilgi işleme olan bilgisayar bilimi denilen birey, bölünmez operasyonlar ayrılmıştır işlemler . Her işlem, eksiksiz bir birim olarak başarılı veya başarısız olmalıdır ; asla yalnızca kısmen tamamlanmış olamaz.

Örneğin, çevrimiçi bir kitapçıdan bir kitap satın aldığınızda, bir kitap karşılığında (kredi şeklinde) para alışverişi yaparsınız. Krediniz iyiyse, bir dizi ilgili işlem kitabı almanızı ve kitapçının paranızı almasını 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ı almıyorsunuz ve kitapçı paranızı almıyor. Değişimi dengeli ve öngörülebilir kılmaktan sorumlu teknolojiye işlem işleme denir. İşlemler, işlem birimi içindeki tüm işlemler başarıyla tamamlanmadıkça veri odaklı kaynakların kalıcı olarak güncellenmemesini sağlar. Tamamen başarılı veya tamamen başarısız olan bir dizi ilgili işlemi bir birimde birleştirerek, hata kurtarmayı basitleştirebilir ve kişinin uygulamasını daha güvenilir hale getirebilir.

İş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, satış siparişi girişini, havayolu rezervasyonlarını, bordroyu, çalışan kayıtlarını, üretimi ve nakliyeyi yöneten sistemleri içerir.

Hepsi olmasa da çoğu, bugün işlem işleme etkileşimli olduğundan, bu terim genellikle çevrimiçi işlem işleme ile eşanlamlı olarak kabul edilir .

Açıklama

İşlem işleme, sistemdeki birbirine bağlı işlemlerin tümünün başarıyla tamamlanmasını veya tümünün başarıyla iptal edilmesini sağlayarak bir sistemin Bütünlüğünü (tipik olarak bir veritabanı veya bazı modern dosya sistemleri ) bilinen, tutarlı bir durumda korumak için tasarlanmıştır .

Örneğin, bir müşterinin tasarruf hesabından bir müşterinin çek hesabına 700 doların taşınmasını içeren tipik bir bankacılık işlemini düşünün. Bu işlem, bilgisayar terimleriyle en az iki ayrı işlemi içerir: tasarruf hesabından 700$ borç alınması ve çek hesabına 700$ alacak kaydı. Bir işlem başarılı olurken diğeri başarısız olursa, günün sonunda bankanın defterleri dengelenmez. Bu nedenle, bir bütün olarak bankanın veritabanında hiçbir zaman 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, tek bir bölünmez işlemde birden çok bireysel işlemi 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ı tamamlanmış ancak diğerleri denendiğinde hatalar meydana gelirse, işlem işleme sistemi işlemin tüm işlemlerini (başarılı olanlar dahil) "geri alır" , böylece işlemin tüm izlerini siler ve sistemi geri yükler. işlemin işlenmesi başlamadan önce içinde bulunduğu tutarlı, bilinen duruma. Bir işlemin tüm işlemleri başarıyla tamamlanırsa, işlem sistem tarafından taahhüt edilir ve veritabanı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ış 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, taahhüt edilmemiş işlemlerdeki tüm işlemlerin iptal edilmesini garanti eder.

Genellikle, işlemler eşzamanlı olarak verilir. Çakışırlarsa (yani, veritabanının aynı kısmına dokunmanız gerekiyorsa), bu çakışmalara neden olabilir. Örneğin, yukarıdaki örnekte bahsedilen müşterinin tasarruf hesabında 150$'ı varsa ve 100$'ı farklı bir kişiye transfer etmeye çalışırken aynı zamanda 100$'ı da çek hesabına taşımaya çalışırsa, bunlardan sadece biri başarılı olabilir. Ancak, işlemleri sırayla işlemeye zorlamak verimsizdir. Bu nedenle, işlem işlemenin eşzamanlı uygulamaları, işlemlerin herhangi bir sırayla ( serileştirilebilirlik adı verilen bir özellik ) sırayla yürütülmesi durumunda ulaşılabileceği gibi, nihai sonucun çatışmasız bir sonucu yansıtmasını garanti edecek şekilde programlanmıştır . Örneğimizde bu, hangi işlemin önce yapıldığına bakılmaksızın, farklı bir kişiye havale veya çek hesabına taşıma işleminin başarılı olduğu, diğerinin başarısız olduğu anlamına gelir.

metodoloji

Tüm işlem işleme sistemlerinin temel ilkeleri aynıdır. Bununla birlikte, terminoloji bir işlem işleme sisteminden diğerine değişebilir ve aşağıda kullanılan terimlerin evrensel olması gerekmez.

geri alma

İşlem işleme sistemleri, veritabanının ara durumlarını değiştirilirken kaydederek ve ardından bir işlem gerçekleştirilemezse veritabanını bilinen bir duruma geri yüklemek için bu kayıtları kullanarak veritabanı bütünlüğünü sağlar. Örneğin, bir işlem tarafından değiştirilmeden önce veri tabanındaki bilgilerin kopyaları , işlem herhangi bir değişiklik yapmadan önce sistem tarafından bir kenara bırakılır (buna bazen önce görüntü denir ). İşlemin herhangi bir kısmı taahhüt edilmeden ö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

Bir veritabanı yönetim sisteminde yapılan tüm değişikliklerin ayrı bir günlüğünü tutmak da mümkündür . (bazen resimlerden sonra denir ). Bu, başarısız işlemlerin geri alınması için gerekli değildir, ancak bir veritabanı hatası durumunda veritabanı yönetim sistemini güncellemek için yararlı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 yedekten geri yüklenmesi gerekir. Yedekleme, yedekleme yapıldıktan sonra yapılan işlemleri yansıtmaz. Bununla birlikte, veritabanı yönetim sistemi geri yüklendikten sonra , veritabanı yönetim sistemini güncel hale getirmek için veritabanına ( rollforward ) art görüntülerin günlüğü uygulanabilir . Arıza anında devam eden tüm işlemler 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 durumdaki bir veritabanıdır.

kilitlenmeler

Bazı durumlarda, iki işlem, işlenmesi sırasında bir veritabanının aynı bölümüne, ilerlemelerini engelleyecek şekilde aynı anda erişmeye çalışabilir. Örneğin, A işlemi veritabanının X kısmına erişebilir ve B işlemi veritabanının Y kısmına erişebilir. Bu noktada, A işlemi veritabanının Y kısmına erişmeye çalışırken B işlemi X kısmına erişmeye çalışırsa, bir kilitlenme meydana gelir ve hiçbir işlem ilerleyemez. İşlem işleme sistemleri, ortaya çıktıklarında bu kilitlenmeleri algılamak 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ırayla yeniden başlatılır. Veya bazen, kilitlenen işlemlerden sadece 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 meydana gelebilir. Ne kadar çok işlem söz konusu olursa, tespit edilmeleri o kadar zor olur ki, işlem işleme sistemlerinin tespit edebilecekleri kilitlenmeler için pratik bir sınır olduğunu fark eder.

Telafi edici işlem

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

ASİT kriterleri

Jim Gray , 1970'lerin sonlarında ACID kısaltması altında güvenilir bir işlem sisteminin özelliklerini tanımladı - atomiklik, tutarlılık, izolasyon ve dayanıklılık.

atomiklik

Bir işlemin durumundaki değişiklikler atomiktir: ya hepsi olur ya da hiçbiri olmaz. Bu değişiklikler, dönüştürücülerdeki veritabanı değişikliklerini, mesajları ve eylemleri içerir.

Tutarlılık

Tutarlılık : Bir işlem, durumun doğru bir şekilde dönüştürülmesidir. Grup olarak alınan tedbirler, devletle ilgili bütünlük kısıtlamalarının hiçbirini ihlal etmemektedir.

İzolasyon

İşlemler aynı anda yürütülse de, her bir T işlemine, diğerlerinin T'den önce veya T'den sonra yürütüldüğü, ancak her ikisinin birden yürütülmediği anlaşılıyor.

dayanıklılık

Bir işlem başarıyla tamamlandığında (kabul edildiğinde), veritabanındaki değişiklikleri başarısızlıklardan kurtulur ve değişikliklerini korur.

Faydalar

İşlem işlemenin şu faydaları 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
  • Bu pahalı kaynakların kullanım oranlarını yüksek tutarak maliyeti amorti etmeye yardımcı olmak için pahalı bilgisayar sınıflarında kullanılır.

Dezavantajları

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

Uygulamalar

Standart işlem işleme yazılımı gibi, IBM 'in Bilgi Yönetim Sistemi , ilk olarak 1960 yılında geliştirilen ve çoğu zaman yakından özellikle bağlandı veritabanı yönetim sistemleri . İstemci-sunucu hesaplama , 1980'lerde karışık bir başarı ile benzer ilkeleri uyguladı. Ancak, son yıllarda, dağıtılmış istemci-sunucu modelinin bakımı çok daha zor hale geldi. Çeşitli çevrimiçi hizmetlere (özellikle Web ) yanıt olarak işlemlerin sayısı arttıkça , 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 işlemlerini gerçekleştirebileceği katı bir istemci-sunucu modelinin aksine, birlikte çalışan bir dizi programdan oluşur. Bugün, programlar arası düzeyde çalışan ve ana bilgisayarlar dahil olmak üzere büyük sistemlere ölçeklenen bir dizi işlem işleme sistemi mevcuttur .

Bir çaba X/Open Dağıtılmış İşlem İşleme'dir (DTP) (ayrıca bkz. Java İşlem API'sı (JTA). Bununla birlikte, IBM'in CICS'si gibi tescilli işlem işleme ortamları hala çok popülerdir, ancak CICS açık endüstri standartlarını da içerecek şekilde gelişmiştir. .

Aşırı işlem işleme (XTP) terimi, özellikle aktarım hızı gereksinimleri (saniyedeki işlem sayısı) gibi olağandışı zorlu gereksinimleri olan 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 yoluyla uygulanabilir. En az 2011 yılına kadar kullanıldı.

Referanslar

daha fazla okuma

  • Gerhard Weikum, Gottfried Vossen, İşlemsel bilgi sistemleri: teori, algoritmalar ve eşzamanlılık kontrolü ve kurtarma uygulaması , Morgan Kaufmann, 2002, ISBN  1-55860-508-8
  • Jim Gray , Andreas Reuter, İşlem İşleme — Kavramlar ve Teknikler, 1993, Morgan Kaufmann, ISBN  1-55860-190-2
  • Philip A. Bernstein, Eric Yeni Gelen, İşlem İşleme İlkeleri, 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