search
Giriş
Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
1 oy
830 gösterim
Transaction kavramının ne demek olduğu ile alakalı biraz bilgi verebilir misiniz?
Genel Kavramlar kategorisinde 6.2k puan

3 Cevap

–1 oy

Transaction database üzerinden session açılmasıdır bu session üzerinden query sorgusu çalıştırabilirsin.
İşiniz bittikten sonra da session kapatılması gerekir .Bu da transaction kapatılarak yapılır.Aksi halde database üserinde session trafiği olacaktır. Transaction yönetimi manual olarak yapılabileceği gibi (aç,persist, kapa )enterprise uygulamalar kullanıldığında bu transaction frameworkler tarafından yönetilir (Hibernate ,JPA ..). 

104 puan
transaction ile session'ının dediğiniz gibi bir ilgisi yoktur.  Sadece transaction çalıştırabilmek için tabiki db'de bir session açılmalıdır.

bir session açtıktan sonra da bir çok transaction çalıştırılabilir.
1 oy
Transaction genel bir kavram ve bir sürü tanım bulabilirsiniz. Birkaç farklı şekilde tanımlamaya çalışalım.

Transaction tek bir parçaymış gibi (atomik) işlenerek bitmesi gereken iş/iş gurubu demek diyebiliriz. İş grubu içinde herhangi bir anda sorun çıkması durumunda transaction başlangıcından hata anına kadar gelen kısmın tamamen iptal edilmesi gerekir. (Detaylı/gelişmiş kullanımlarında bu işlemi en başına kadar geri döndürmeniz gerekmeyebilir. bkz: rollback) İşlemler bittiği zaman transaction bitmiş olur.

Benim beğendiğim diğer bir tanım ise (bir büyüğümüzün tanımı); elinizde bir sistem var ve bu sistem valid (tutarlı) duruyor, bir grup işleminiz var ve bu işlemleri yapıp bitirdiğiniz zaman sistemin tekrar tutarlı olmasını bekliyorsunuz. Bu işlemlerin uygulanması sırasında sorun olursa sistem tutarsız (invalid) hale geliyor. İşte bu sistemi tutarlı bir halde alıp tekrar tutarlı halde bırakacak işlem/işlem grupları, transaction olarak tanımlanabilir.

Dikkat edilmesi gereken durum; veritabanı oturumları (db session) içinde birden fazla transaction açılabilir, veya hiç transaction açılmadan tek bir işlem de yapılabilir. One dikkat edip oturum (session) ile transaction kavramlarını karıştırmamak gerekir.

Transaction başlaması ve kapanması elle yapılabilir veya otomatik transaction kullanımları da uygulanabilir. Spring transaction bir örnek olacaktır.
6.2k puan
1 oy

Transaction veritabanı üzerinde bir bütün olarak çalıştırılan sorgu veya sorgular dizisidir.  bu sorgular dizisi Kenan bey'in de dediği gibi tutarlılığı sağlamak içindir.  Bu sorgu dizisinin içinde bir yerde hata alınırsa, öncesindeki çalışan tüm sorgular rollback olur. Böylelikle tutarlılık bozulmamış olur.

Oracle'da transaction begin... end bloğu içerisinde yazılır ve bu Oracle için tek bir transactiondur.  ya tamamen çalışacaktır, ya da hata alırsa çalıştırdıklarını geri alacaktır. 

Bunu bir örnekle açıklayacak olursak bir satış operasyonunu düşünelim. Bunun bir çok adımı olacaktır.

Begin

  StokGuncelle();

  FaturaKes();

  SevkiyatEmriOlustur();

End;

Bu satış işleminin gerçekleşebilmesi için yukarıda begin end arasında belirtilen tüm işlemlerin eksiksiz olması gerekiyor. Begin End arasındaki tüm işlemler, veritabanı için tek bir transaction'dır aslında. 3 işlemden herhangi birinde bir hata oluşursa önceki işlemler geri alınacak. Yani veri tutarlılığı sağlanmış olacaktır. 

Bu işlem sonrası session kapatılmadan başka transaction'lar da çalıştırılabilir. 

604 puan

İlgili sorular

0 oy
1 cevap 413 gösterim
413 gösterim
Autonomous Transaction nedir?
5 Şubat 2019 Veri Tabanı kategorisinde sinan 291 puan sordu
0 oy
0 cevap 359 gösterim
359 gösterim
Oracle DB'de TPS (Transaction Per Second) ne anlama geliyor? DB'deki TPS değerini nasıl görebiliriz?
30 Kasım 2020 Veri Tabanı kategorisinde buzel 604 puan sordu
0 oy
1 cevap 212 gösterim
212 gösterim
https://pnpm.io/ https://www.npmjs.com/ https://yarnpkg.com/
9 Haziran 2023 Genel Kavramlar kategorisinde Barış Engin 1 102 puan sordu
0 oy
1 cevap 179 gösterim
179 gösterim 16 Ocak 2023 Genel Kavramlar kategorisinde kenan 6.2k puan sordu
0 oy
1 cevap 220 gösterim
220 gösterim
UI/UX kavramları ne anlama gelmektedir?
7 Mart 2022 Genel Kavramlar kategorisinde kenan 6.2k puan sordu