Merhaba,

Temel CRUD işlemlerinde; ORM, geliştirme zamanını kısaltıyor. Ancak PL/SQL ile oluşturduğumuz uzun bir Stored Procedure, ORM işlemlerine göre daha hızlı çalışmaz mı? Eğer böyle bir performans sorunu varsa uygulama tarafında bunu nasıl aşabiliriz?

Performans kaybı olmadan platform bağımsız bir uygulama nasıl geliştirebiliriz ?

soruldu: 17 May '13, 09:50

Gnosis00's gravatar image

Gnosis00
1766914
cevap kabul oranı: 0%

değiştirildi: 17 May '13, 14:45

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


Performans kaybı derken konuyu biraz açmak lâzım.

Öncelikle stored procedure derlemek makine kodu çevirimi yapsa bile veritabanından okuma veya yazma hızına etki etmez, ancak PL/SQL içindeki döngüleri ve hesaplamaları hızlandırabilir.

Performans kazanmaktan bahsedeceksek önce performansı kıran şeyleri, yani ağda bilgi taşınması, diskten veri okunması gibi işleri optimize etmemiz gerekir. Yani PL/SQL derlemeniz size hiç veritabanına gitmeden CACHE kullanarak veriyi hazır eden bir ORM'den daha çok kazanç sağlamaz, hatta kaybınız olur.

Yani "ya ORM ya SP" yaklaşımı da doğru değil, ikisi birarada kullanılabilir.

Performans kaybını daha da açmak gerekirse öncelikle ölçmeden hiçbir performans iyileştirmesi yapılmamasını tavsiye ederim.

Şimdi değişik senaryolardan bahsedebiliriz:

Tek veritabanı, tek sunucu

Bu durumda hem ORM hem SP birlikte kullansanız birşey kaybetmezsiniz.

Tek veritabanı, çok sunucu

Bu durumda size tavsiyem mümkün olduğunca veritabanını kastırmayın, işleri sunuculara dağıtın. Yani PL/SQL ile karışık sorgular yapıp derleyeceğinize gereken veriyi saf haliyle çekip sunucularda işlem yapın ki veritabanına girdi-çıktı dışında yük binmesin.

Çok veritabanı, çok sunucu

Sizi asıl yavaşlatan şey artık ağ ve disk performansı olmaya başlayacak. Böyle bir altyapı için muhtemelen kullanıcı sayınız artık binlerle ya da onbinlerle ölçüldüğü için veritabanını veritabanının en iyi yaptığı işe (sunuculara veri çekme yükünü paylaşmak), sunucuları da sunucuların en iyi yaptıkları işlere (threadli şekilde hesap kitap yapmaya) ayırmanın getirisi olduğunu düşünüyorum.

permanent link

cevaplandı: 17 May '13, 11:23

nurettin's gravatar image

nurettin
2.2k2441
cevap kabul oranı: 14%

değiştirildi: 17 May '13, 11:29

Kapsamlı bir cevap olmuş. Teşekkür ederim.

(17 May '13, 12:21) Gnosis00 Gnosis00's gravatar image
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:

×77
×50
×19
×8

Soruldu: 17 May '13, 09:50

Görüntüleme: 1,027 kez

Son güncelleme: 17 May '13, 14:45

powered by BitNami OSQA