Merhaba,

Hibernate ve hemen tüm diğer ORM araçları için - neden bilmem - sürekli 
olarak "işi hızlandırmaz" ifadesi kullanılır.

Eğer Hibernate'i (veya başka bir ORM aracını) sadece ilkel özellikleri 
ile kullanırsanız, o zaman özellikle bir hızlanma hissetmezsiniz. Ancak,

- ön yedekleme
- tembel yedekleme
- bağlantı havuzu en iyileme

gibi özelliklerini devreye alır ve ince ayarlarını yaparsanız ve

- vt işlem (transaction) yönetimi

işini Hibernate'e verirseniz, o zaman farklı bir tablo ile 
karşılaşabilirsiniz. Bu işleri elle yapabileceğinizden daha iyi biçimde 
ve dinamik olarak yapacaktır.

En iyileme işinde, değişik ORM araçları

- lineer programlama
- yapay sinir ağları
- genetik programlama

gibi değişik teknikleri kullanıyorlar. Bunlar kesinlikle elle tasarım 
yaparken göremeyeceğimiz ilişkileri - bir şekilde - kullandıkça öğrenip 
onlara hazırlıklı olan şeyler.

VT performansını en iyilemek için artık programcının yapacağı şey 
karmakarışık SQL ler yazmak değil, verinin kendi içindeki ilişkileri 
daha iyi düşünüp, VT yöneticisi ile bunlar kısıt mıdır (constraint) 
değil midir gibi VT ince ayarına yardımcı şeyleri tartışmak.

Bu arada

- kısıtlar
- tetikler
- izolasyon seviyeleri

türünden VT ince ayarlarınız varsa, Hibernate'e bunları da anlatmak mümkün.

Hibernate in Action ve yeni baskısı olan Java Persistance in Action'da 
Christian Bauer ve (Hibernate'in ana geliştiricisi olan) Gavin King 
bunları gerçekten çok güzel anlatmış. Açıkçası herhangi bir projede 
Hibernate kullanmadan önce hızlıca okunması gereken bir kitaptır.

Sevgiler,

Bora.


serdar güler wrote On 26-10-2009 18:07:
> Hibernate gibi database ile uygulama arasına koyulan katmanların
> performans olarak uygulamaya kattıkları çok bir şey yok ama uygulamayı
> yazan kişilerin performansı katabilecekleri çok şey var. sorgu yaz,
> çalıştır, sonuçları bir yere doldur gibi sıkıcı işleri hibernate vs.
> bir persistence layer a ye bırakıp standart işlerle uğraşmak yerine
> uygulamanın özü ile uğraşmak için vaktiniz oluyor.
>
> diğer yandan unutmayınki sql bilginiz iyi ise uygulamanın kritik
> yerlerine kendi yazacağınız sqller ile performans  artışları
> sağlamanız da mümkün olacaktır. yine de bu hibernate ten vazgeçmek
> için neden değildir.
>
> kolay gelsin...
>
> 2009/10/26 Onur Canci<[email protected]>:
>    
>> Merhaba,
>>
>>
>> Yeni geliştirmeyi düşündüğüm java tabanlı bir web projesi için alt yapı
>> araştırması yapıyordum.
>> Listedeki konu ile ilgili arkadaşlarında bir fikrini almak istiyorum.
>>
>> Java ile geliştirilen projelerde hibernate kullanmak performans olarak ne
>> kadar faydalıdır?
>> Yani sql performansını artırır mı? Memory kullanımı nasıldır? Tomcat
>> çalıştıracak
>> bir ortalama bir sunucu üzerinde sistemde hafıza darboğazına yol açar mı?
>>
>> Genel olarak hibernate vs. standart jdbc bağlantısı ile DAO katmanı yazmak
>> arasındaki
>> artı ve eksiler nelerdir?
>>
>> İnternette araştırdım ancak sadece genel bilgilere ulaşabildim. Bu konuda
>> tecrübe sahibi arkadaşlar
>> yorum yazabilirlerse sevinirim.
>>
>> Teşekkürler,
>> --
>> M. ONUR CANCI
>>
>> _______________________________________________
>> Linux-programlama mailing list
>> [email protected]
>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>>
>>
>>      
>
>
>    

_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

Cevap