Oracle.com anasayfasında görüldüğü gibi Sun'ı Oracle 7.4 milyar dolara satın aldı, yaza geçiş tamamlanacak.
Oracle and Sun
Oracle tecrübeleriniz dolayısıyla sizlerden bu kadar havada cevaplar alacağımı sanmıyordum. Daha 'real' cevaplar beklerdim. En basitinden select performans testleri gibi.
Tekrar anladımki Marka ve paralı olan bize daha 'iyi' geliyor.Bknz: Lüks...
Son olarak Belediyelere yönelik GIS Harita yazılımları üzerinde çalışmış olduğumdan neyden bahsettiğinizin farkındayım.
Lüks için oracle kullananlar vardır elbet ama süleyman arkadaşımız lüks için kullanmıyor eminimki. Büyük projelerde Oracle neden kullanılır sorusuna cevabı çok küçük açıklamalar şeklinde en belirgin bi kaç cevapla aşağıda yazıyım.
1) Row Level Locking. Oracle da bulunan rowid özelliği For update içeren statement lerde tablo bazında değilde sadece satır bazında lock yapar dolayısı ile çok kullanıcının transactional işlemlerinde biri diğerinin değiştirirken kilitlediği satırdan etkilenmez.
2) Oracle Anatomisi itibari ile en ufak ayarlamalar özelleştirilebilir. Memory parametreleri ayarlanabilir. Mesela çok küçük tablolar çalışıyorsanız DB_CACHE_SIZE keep özelliğine alınır ve neredeyse hiç diskten okumazsınız.
3) Bussiness Logic için en verimli database dir. neredeyse tüm programı PL/SQL kullanarak yazar sadece User Interface tasarlarsınız.
4) High Avaibility de oracle zaten rakipsizdir.
RAC (Real Application Cluster) : Birden fazla sunucuyu tek sunucu gibi kullanabilirsiniz. Aslında tek sunucu demek te yanlış tam olarak şu anlama gelir. Bir database iniz olur birden fazla sunucunuz datalarınız datafillerda tutulur rac e node olarak atanan sunucular sadece ram sağlar.
Dataguard : Bir sunucunun kopyası gibi düşünebilirsiniz. Asıl işlem yaptığınız sunucuda yapılan her commit diğerine de yansır. 1. Sunucu out of order (servis dışı kaldığında) 2. ye geçip kaldığınız yerden devam edebilirsiniz. Yada 1. sunucu transactionları yaparken 2. sunucudan raporsal sorgularınızı yapabilirsiniz.
Table Partitioning : Milyar satırdan oluşan tablonuz olduğunu varsayın. Bir select yapıp where koşulu koyarsanır milyar satırı check edip uyanları getirir. Diyelim yıl bazlı çalışıyorsunuz tablonuzda da yıl isminde field var. 2007 de 100 milyon kayıt 2008 de ve 2009 da 200 milyonar adet kayıt olduğunu varsayalım. Tabloyu Table Partitioning ile partitionlara ayırıp 2009 u bir sanal tablo, 2008 sanal bi tablo yapıp sorgulamada milyar satır değilde 2009 a ait olan tabloları datafile dan okutup kat kat fazla performans artışı sağlayavbilirsiniz.
Kısaca bu liste bir minyatür uzat gider...
Şunuda ekleyim : Select performas test değerleri gibi bir ifade kullanmışınız. Şimdi oracle a uzak olan birisi diğer databaselerin anatomisi ile karşılaştırır. Oracle da öyle şu kadar veriyi select yaptığında işlemci şuysa ram şuysa SGA söyle ayarlandıysa şu kadar zamanda sonuç döndürür die bi olay yok. Oracle da Data Block (data block demek diskin üzerindeki en küçük veri parçacığı yani insandaki hücre) tan tutunda datasegment e kadar tuning yapabilme şansını verir. Yani size heryeri ile oynamanız için imkan verir. Dolayısı ile üstüne basa basa söylüyorum tam performans tuning yapılmış bir oracle veritabanı dünyada rakipsizdir. Performas tuning de mysql deki gibi şu ini yi değiştir şu değeri şöyle yap hızlanır şeklinde olmaz. Tamamen datalarınızın karakteristik özelliğine göre customize etmeniz gerekmektedir.
Yani bilmem anlatabildim mi?