DB2 Bağlamında Veri Tabanı Performansını Artırma

DB2, IBM’in web kullanımına hazır, ilişkisel veri tabanı yönetim sistemidir.

DB2 ile yüksek performans elde etmek için IBM’in Z sınıfındaki işletim sistemlerini kullanmanız önerilir. Tabii bu sistemlerin ne kadar büyük sistemler olduğunu ifade etmeye gerek yok. DB2’nun Z serisi için sağladığı hizmetleri, diğer işletim sistemleri için (örneğin UNIX ya da Windows) kullanmak istediğimizde, ilave yazılım ürünleri kurmamız gerekir. DB2 en rahat ve verimli olarak z/OS üzerinde yaşar. Ve z/OS diğer işletim sistemleri ile karşılaştırıldığında değişik bir yaratıktır, diğerlerine benzemez. Bunun bir örneği olarak Oracle üzerinde pek iş gerçekleştirdiğimiz saklı yordamları (stored procedure) z/OS üzerindeki DB2’ya taşımak istediğimizde kullanım maliyetimiz 2 katına çıkar.

Genel olarak DB2 performansının artırılması

  1. Kurulumda, işletim sisteminin kütük yönetim sistemi (System Managed Space) yerine veri tabanının verileri kendi yönetiminde ele almasını sağlayın (Database Managed Space DMS).
  2. Eğer UDB kullanıyorsanız LOCKSIZE’ınız varsayılan olarak satır bazındadır (row level locking). Ama eğer z serisinde DB2 kullanıyorsanız, satır bazında kitleme gerçekleştirmeyin.
  3. Dizinlerinizi (Index) , verilerinizi tuttuğunuz tabloların bulunduğu tablo alanından (table space) farklı bir tablo alanına yerleştirin.
  4. Online Transaction Processing için veri tabanınızın 3. normal formda (3NF) olması performansınızı artırır.
  5. Uygun olan yerde INTEGER yerine SMALLINT kullanın.
  6. Tarihle ilgili tanımlamalarınızda CHAR yerine DATE ve TIME’ı kullanın.
  7. Uygun olan yerde NOT NULL tanımlamalarını kullanın.
  8. 50’den az karakter içeren karakter kolonları için VARCHAR yerine CHAR kullanın.
  9. Sorgularda sadece ihtiyacınız olan kolonları çekin.
  10. Çekeceğiniz satır sayısına sınır koyun.
  11. Uygun olan yerde FETCH FIRST n ROW ONLY tanımlamalarını kullanın.
  12. Uygun olan yerde FOR FETCH ONLY tanımlamalarını kullanın
  13. İşin ne kadarını DB2’ya yaptırabilirseniz o kadar kar edersiniz.
  14. İş mantığını SQL’e yükleyin. (Bağımlılığı azaltmaya çalıştığımız günümüzde ne kadar mantıklı tartışılır.)
  15. Uygulamanız da süzme yerine SQL’de süzme gerçekleştirin.
  16. Stage 1 Predicate kullanın, mevcut Stage 2 Predicate olan işlemleri dönüştürmeye çalışın.
    1. DATE_COL <> ‘9999-12-31’ yerine –> DATE_COL < ‘9999-12-31’
    2. ITEM_PRICE <> 0 yerine –> ITEM_PRICE > 0
    3. NULLABLE_COL IS NOT NULL yerine –> NULLABLE_COL >= 0
    4. ANSWER <> NULL yerine –> ANSWER=’Y’

Referans: db2expert
ibm

Advertisements

Windows Vista Tecrübelerim

Yaklaşık bir buçuk aydır Vista kullanıyorum. Geçmiş alışkanlıklarımızı aştıkça genel olarak Vista’nın daha kolay kullanılabilir bir işletim sistemi olduğunu söyleyebilirim.

Kenar çubuğu (Sidebar ) zaten Google desktop ile edinebileceğimiz bir araçtı. Ama daha önce kullandığım Google Sidebar’a göre daha kararlı ve kullanışlı bir yapıya sahip. Yarı saydam olması, ön plana getirme, arka plana çekme olanakları görselliğini üst düzeye çıkartmış.

Windows Vista’nın yeni explorer ise daha önceki explorer dan daha işlevsel. Özellikle adres çubuğu sadece karakter girebildiğiniz bir alan değil. İç içe geçmiş dizinleri (klasör) ayrı ayrı adres çubuğundan seçip onların alt dizinlerine kolayca erişebiliyorsunuz. Bunun yanısıra daha önce XP de ilişkili dizinleri sol kenarda gösterme daha etkin bir biçimde yapılıyor, ayrıca bir de sık kullanılan yerler kesimi eklenmiş. Dizin erişimlerinde işleri çok kolaylaştıran parçalar olduğu kanaatindeyim.

Çeşitli sürücü problemleri yaşadım. Ayrıca Java sorunları. Tabii bu sorun kaynağı depricated method kullanımından kaynaklı olabileceği gibi, bence daha çok sanal makine geliştiricilerinin yol açtığı uyumsuzluklar.

Ayrıca unix ve linux sistemlerde yılların alışkanlığı olan root olarak çalıştırma mecburiyeti Vista’ya taşınmış. PC’nizde yönetici (“administrator”) bile olsanız. Sistem ayarlarına müdahale eden kurulumlarda çift tıklayarak değil, sağ tık ve ‘yönetici olarak çalıştır’ seçeneğini seçmeniz gerekiyor. Özellikle Windows dizinine ayar kütüğü saklayan uygulama kurulumlarında soruna yol açan bu uygulama, uygulamanı kurulumunu engelliyor. Ve sebebin bu olduğunu anlamanız ilk seferinde zaman alıyor.

Bu arada Aero kullanamama rağmen görsel öğeler gayet tatminkar. Fontların daha yumuşak olması, netlik ve doğallık hissini veriyor. Ekranda önemli bir ileti verileceğinde, ekranda aktif pencere dışındaki kesimin karartılması da güzel bir ayrıntı.

2000’den XP’ye geçiş kadar etkileyici bir dönüşüm olmasa da, kullanımı daha eğlenceli bir işletim sistemi Vista.

JRE’nin Eski Sürümleri

Kullandığımız bir kısım applet’lerin java çalışma ortamının yeni sürümlerinde çakılması sık karşılaşılaşılan bir durum. Özellikle karakter kümesi sorunları, eğer uygulamanız Türkçe hizmet sağlıyorsa çok kafa ağrıtır. Eğer java’nın eski sürümleri, belgelemeleri ya da benzeri şeyleri arıyorsanız, http://java.sun.com/products/archive/index.html adresinden tüm indirlebilir kütüklere erişebilirsiniz. “End of Life Process” kapsamına girmiş sürümlere ulaşmanız ise mümkün değil.

Linux Sürücülerini Kim Yazıyor?

Tek başına 352 tane USB web-kamerasının linux sürücülerinin yazan bir kişi. 60 yaşındaki Fransız fizikçi, kızlarına yılbaşı için aldığı 2 tane webcam’in linux’da desteklenmediğini görünce, kolları sıvamış. 2003’de sürücüleri yazmaya başlayan Michel Xhaard’ın şu an 352 sürücüsü var.