Merhaba,

Stored Procedure kullanımının ne gibi bir durumda uygun olduğunu sormak istiyorum. Veritabanı üzerinde yapacağımız işlemler için select,insert,update gibi komutlar zaten yeteri kadar özelleştirilebiliyor. Dolayısıyla bu sorgular uygulamamızın iş katmanında belirtilip veritabanına gönderiliyor. Yapılacak bir iş için Stored Procedure yazmak iş katmanında yapılması gereken bir işi ayırmak oluyor. Ufak bir araştırma yaptığımda Stored Procedure yazılmasının farklı isteklere karşı ortak bir çözüm olduğunu öğrendim. Fakat Microservice mimarisini izlediğimizde de böyle bir sonuca zaten varıyoruz. Ayrıca bir uygulama birden fazla veritabanı kullanıyor da olabilir.Bu da stored procedure kümesinin diğer veritabanlarında da yazılması gerektiği anlamına geliyor. Sonuç olarak bir uygulamanın neden Stored Procedure ihtiyaci olduğunu açıklayabilir misiniz?

Teşekkürler

soruldu: 26 Nis, 06:47

ugurcanlacin's gravatar image

ugurcanlacin
816101625
cevap kabul oranı: 11%


Çok karışık değil aslında. Benim bildiğim birkaç avantajı var.

Mesela; aynı veritabanına erişim ihtiyacı olan farklı platformlarda aynı kodu tekrar tekrar yazmak yerine, Stored procedure tarafında bu işi yaparak kod bütünlüğü sağlanabilir. Güvenlik konusunda da bazı durumlurda kolaylıklar sağlayabilir. stored procedure kullanan istemcinize tablo erişim yetkisi vermeniz gerekmez.

Esas soruya gelecek olursak SP kullanmanın avantajlı, performanslı, güvenli, ölçeklenebilir olduğu bir senaryo söz konusu ise SP kullanımı tercih edilebilir. Sonuçta bu bir zorunluluk değil , çeşitliliktir. Yazılım mimarisinde kullanılan yüzlerce araçtan sadece biridir.

permanent link

cevaplandı: 26 Nis, 11:25

yunus's gravatar image

yunus
2527
cevap kabul oranı: 4%

Artıları: güvenli, hızlı, performanslı, değiştirilebilir ve kolay bakım yapılabilir olduğundan bazı durumlarda ihtiyaç olabiliyor. En önemli özelliği en başta ve sadece bir kere derleniyor oluşu. Veritabanı trafiği ve yükü yüksek olan sistemlerde performans düşünüldüğünde tercih edilebilir.

Eksileri: ancak tüm business logici bu katmana bırakmak da yanlış olur, bu yüzden genel olarak pek tercih edilmiyor. Ayrıca T-SQL, PL/SQL fonksiyonlarını test etmek C# veya Java'yı test etmek kadar kolay değil.

permanent link

cevaplandı: 27 Nis, 01:55

pvalue's gravatar image

pvalue
5571310
cevap kabul oranı: 17%

değiştirildi: 27 Nis, 02:15

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1
×1

Soruldu: 26 Nis, 06:47

Görüntüleme: 243 kez

Son güncelleme: 27 Nis, 02:15

Benzer sorular

powered by BitNami OSQA