Cuma, Eylül 08, 2006

Java Caching Solutions

Bildiğiniz gibi çok bazı projelerde zaman içinde uygulamanın işlemesi gereken data çok miktarda artabiliyor. Data miktarı arttıkça veritabanında çalışan sql'lerin performansı ve/veya uygulama sunucusu ile veritabanı arasındaki trafik ciddi derecede düşebiliyor. Veritabanında yapılabilecek performans arttırıcı önlemler (hardware upgrade, data shrinking, vs.) uygulama katmanındaki kadar kolay ve rahat olamıyor.

Bu yüzden son yıllarda Second Level Caching uygulamalarda çok kullanılan ve aranılan bir özellik olmaya başladı. Bu yüzden Hibernate gibi populer O/R Mapping araçları Second Level Caching'i default olarak destekliyor. Eğer zaten Hibernate kullanıyorsanız sadece düşünmeniz gereken Hibernate'in altında hangi Cache implemantasyonunu kullanacağınıza karar vermeniz. Hibernate bu konuda oldukça esnek.

Eğer Hibernate kullanmıyorsanız dahi mevcut POJO aracınıza kendiniz de bir Second Level Cache tool'u entegre edebilirsiniz. Bu konuda en yaygın kullanılan 4 Cache Tool'u mevcut.

1) JBossCache : Cache araçları içindeki en yetenekli olanı. En önemli özelliği cluster (senkron/asenkron) desteğinin olması ve transactional çalışması. Cluster nodları arasındaki iletişim için JGroups kullandığı için oldukça performanslı. Cache datası konfigürasyonunuza göre memory'de veya disk'te saklanabiliyor. Uygulamanız cluster bir mimari üzerinde ise ve transaction bütünlüğü çok önemliyse JBossCache'ten şaşmayın. JBoss Application Server altyapısında da kullanıldığı için güvenilirliği oldukça yüksek.

2) EHCache : Cache araçları içerisindeki en hızlı ve en kolay uygulanabilir olanı. EHCache'in de memory ve disk tabanlı caching desteği mevcut. EHCache bir çok open-source ve lisanlı uygulama tarafından kullanılmakta. EHCache'in de cluster desteği mevcut.

3) OSCache : Quartz, Webwork(Strus ile birleşti yakın zamanda), XWork, SiteMesh, OSWorkflow gibi meşhur open-source toolları geliştiren www.opensyphony.com topluluğu tarafından geliştirildi. JBossCache kadar yetenekli olmasa da cluster (OSCache de JGroups kullanıyor) desteği mevcut. OSCache de gayet başarılı ve çok tutulan bir Cache çözümü.

4) SwarmCache : Basit, hızlı ama cluster desteği olan diğer güzel bir caching tool?u. SwarmCache de altyapısında JGroups kullanıyor.

Caching Strategies
  • Read-only: This strategy is useful for data that is read frequently but never updated. This is by far the simplest and best-performing cache strategy.
  • Read/write: Read/write caches may be appropriate if your data needs to be updated. They carry more overhead than read-only caches. In non-JTA environments, each transaction should be completed when Session.close() or Session.disconnect() is called.
  • Nonstrict read/write: This strategy does not guarantee that two transactions won't simultaneously modify the same data. Therefore, it may be most appropriate for data that is read often but only occasionally modified.
  • Transactional: This is a fully transactional cache that may be used only in a JTA environment.

Support for these strategies is not identical for every cache implementation. Table 1 shows the options available for the different cache implementations.

Cache

Read-only

Nonstrict Read/write

Read/write

Transactional

EHCache

Yes

Yes

Yes

No

OSCache

Yes

Yes

Yes

No

SwarmCache

Yes

Yes

No

No

JBoss TreeCache

Yes

No

No

Yes

http://www.devx.com/dbzone/Article/29685/

Cuma, Eylül 01, 2006

www.puschitz.com

Puschitz, Oracle Veritabanları (Linux) konusunda guru bir amcamız. Daha evvel linux'ta hiç oracle kurulumu yapmamış olsanız dahi http://www.puschitz.com'daki dokümanlar yardımıyla rahatlıkla kurulum yapabilirsiniz:

Services and News

Discussion Forums NEW!
Linux Tips and Tricks Blog NEW!
Consulting Services
Oracle Linux Portal
Oracle 10g New Features by Example NEW!

Linux Security

Securing Linux Production Systems - A Practical Guide to Basic Linux Security in Production Enterprise Environments
Stateful Firewall and Masquerading on Linux

Linux Tuning

Tuning and Optimizing Red Hat Enterprise Linux for Oracle 9i and 10g Databases (32-bit/64-bit) Updated!

Installing Oracle Databases on Linux

Installing Oracle Database 10g (32-bit/64-bit) on RHEL, Fedora Core, and Red Hat (x86/x86_64)
Installing Oracle Database 10g on Novell SUSE Linux Enterprise Server (SLES) and on SUSE Linux Professional
Installing Oracle 9i Database on Red Hat Enterprise Linux AS 4, 3, 2.1, and Red Hat 9, 8.0, 7.3, 7.2, 7.1

RAC: Installing Oracle Database 10g with Real Application Cluster (RAC) RHEL 3
RAC: Installing Oracle9i Real Application Cluster (RAC) on RHEL 2.1

Other Articles and Links

Kickstart HOWTO for Adding Drivers and Upgrading Kernels on bootnet.img (boot floppy disk image)
Downloading Red Hat Linux, Fedora Core, and SUSE Linux

http://www.puschitz.com/