Veri Madenciliği(Data Mining) Nedir ve Nerelerde Kullanılır-1
Merhaba Arkadaşlar,
Sitemize Oracle konusunda bilgilerini bizimle paylaşacak çok değerli bir arkadaşımız daha katıldı.Ogan Özdoğan bloğunda paylaştığı yazıları burada yayınlıyor olacağız.Sizde sitenizde,bloğunuzda,grubunuzda..yazılarınızı bizimle paylaşmak isterseniz Bu e-Posta adresi istek dışı postalardan korunmaktadır, görüntülüyebilmek için JavaScript etkinleştirilmelidir adresine mail atmanız yeterli olacaktır.
Ogan’a şimdiden teşekkür ediyoruz.Ve Ogan'ın ilk makalesine göz atalım..
Veri Madenciliği(Data Mining) Nedir ve Nerelerde Kullanılır-1
özetleme, değişikliklerin analizi, sapmaların tespiti gibi belirli sayıda teknik yaklaşımları içerir (William J. Frawley, Gregory Piatetsky – Shapiro, Cristopher J. Matheus). Başka bir deyişle, veri madenciliği, verilerin içerisindeki desenlerin, ilişkilerin, değişimlerin, düzensizliklerin, kuralların ve istatistiksel olarak önemli olan yapıların yarı otomatik olarak keşfedilmesidir.
Temel olarak veri madenciliği, veri setleri arasındaki desenlerin ya da düzenin, verinin analizi ve yazılım tekniklerinin kullanılması ile ilgilidir. Veriler arasındaki ilişkiyi, kuralları ve özellikleri belirlemekten bilgisayar sorumludur. Amaç, daha önceden fark edilmemiş veri desenlerini tespit edebilmektir. Veri madenciliğini istatistiksel bir yöntemler serisi olarak görmek mümkün olabilir. Ancak veri madenciliği, geleneksel istatistikten birkaç yönde farklılık gösterir. Veri madenciliğinde amaç, kolaylıkla mantıksal kurallara ya da görsel sunumlara çevrilebilecek nitel modellerin çıkarılmasıdır. Bu bağlamda, veri madenciliği insan merkezlidir ve bazen insan – bilgisayar arayüzü birleştirilir. Veri madenciliği sahası, istatistik, makine bilgisi, veri tabanları ve yüksek performanslı işlem gibi temelleri de içerir.
Veri madenciliği, günlük yaşamda birçok şekilde kullanılabilmektedir. Bunlardan bazıları aşağıdaki gibi sıralanabilir:
Hastanelere yapılan tedavi taleplerinin bölgelere, zamana ve ihtiyaca göre değerlendirmesi salgın hastalık riskinin ilk aşamada tespiti, kontrolü ve kaynak planlama açısından faydalı olur.
Kaçak enerji kullananların profillerini tespit eden bir model, olası kaçak enerji kullanıcılarını tahmin etmeyi sağlayacak, düşük maliyet ile kaçaklarla etkin mücadele edilmesine olanak tanıyacaktır.
Karayollarının bölgelere ve zamana göre yoğunluklarını öngörme amaçlı bir çalışma doğru zamanda doğru kaynak planlaması ile örneğin kaza oranlarının asgariye indirilmesini sağlayacaktır.
Kamu kurumları destek programlarını uygularken, verilecek desteğin doğru miktarda ve doğru hedefleri olan kuruluşlara verilmesini sağlayacak kurumsal risk skorlaması yapılmasıyla uygulanan programların başarısı artar. Kredileri tahsis ederken ödememe riski olan profillerin tespit edilmiş olması batık kredi miktarlarını azaltır.
1.1. Örnek Uygulamalar
Veri Madenciliğinde kullanılan yaklaşımları aşağıda belirtildiği gibi sıralayabiliriz:
Algoritma: Verideki ilişki ya da örgüleri belirlemekte kullanılan programatik tekniklerdir.
Model: Algoritma tarafından belirlenen ilişkilerin tanımıdır. Bu tanım genelde kurallar kümesi, karar ağacı, denklemler ya da ilişkiler ağı şeklinde ifade edilir.
Vaka: Tekil bir nesneyle ilişkilendirilen özellikler ve ilişkiler koleksiyonudur. Gözlem olarak da adlandırılır. Vaka kümesi, aynı özellikleri paylaşan vakalar grubudur. Bunu bir tablo gibi düşünebilirsiniz, tablonun her satırında bir vaka yer alır. Tek tablo yerine birbiriyle ilişkili iki ayrı tablo kullanılması da sözkonusu olabilir. Bu durumda ana tablodaki her satır için yavru tabloda birden fazla satır bağlantılı olarak eklenebilir. Gözlem kümesi olarak da adlandırılır.
Bağımlı değişken (ya da tahmin edilen özellik): Algoritmanın tahmin etmek ya da gruplamak için model inşa edeceği değişken.
Bağımsız değişken (ya da tahmin eden özellik): Modeli inşa ederken kullanılan ve tarif edici bilgilere sahip olan değişkenlere denir. Bağımsız değişkenlerin içlerindeki çeşitli kombinasyonlar ele alınarak algoritma tarafından gruplamalar ve tahminler oluşturulur.
Kesikli ya da sürekli değişkenler: Kesikli ya da sürekli değerlere sahip olan sayısal kolonlar. Mesela maaşlarla ilgili gerçek değerleri içeren bir kolon süreklidir. Ama maaş aralıkları belirler ve gerçek değerleri bu aralıklara karşılık gelen 0, 1, 2… gibi bir sayı dizisiyle ifade ederseniz, kesikli bir kolon elde etmiş olursunuz. Daha yeni araçlarda, kesikli kolonlar için sayısal değerler yerine tarif edici karakter ifadelerine de izin verilmektedir. Kolon tipinin kesikli ya da sürekli olması, kullanılan veri madenciliği algoritmaları için önemli olabilmektedir.
Bağıntı: “Çocuk bezi alan müşterilerin %30’u bira da satın alır.” Sepet analizinde (basket analysis) müşterilerin beraber satın aldığı malların analizi yapılır. Buradaki amaç mallar arasındaki pozitif veya negatif korelâsyonları bulmaktır.
Korelasyon, olasılık kuramı ve istatistikte iki bağımsız değişken arasındaki doğrusal ilişkinin yönünü ve gücünü belirtir. Genel istatistiksel kullanımda korelasyon, bağımsızlık durumundan ne kadar uzaklaşıldığını gösterir.Korelasyon, olasılık kuramı ve istatistikte iki bağımsız değişken arasındaki doğrusal ilişkinin yönünü ve gücünü belirtir. Genel istatistiksel kullanımda korelasyon, bağımsızlık durumundan ne kadar uzaklaşıldığını gösterir.
Çocuk bezi alan müşterilerin mama da satın alacağını veya bira satın alanların cips de alacağını tahmin edebiliriz ama ancak otomatik bir analiz bütün olasılıkları göz önüne alır ve kolay düşünülemeyecek, örneğin çocuk bezi ve bira arasındaki bağıntıları da bulur.
Sınıflandırma: “Genç kadınlar küçük araba satın alır; yaşlı, zengin erkekler büyük, lüks araba satın alır.” Amaç bir malın özellikleri ile müşteri özelliklerini eşlemektir. Böylece bir müşteri için ideal ürün veya bir ürün için ideal müşteri profili çıkarılabilir. Örneğin bir otomobil satıcısı şirket geçmiş müşteri hareketlerinin analizi ile yukarıdaki gibi iki kural bulursa genç kadınların okuduğu bir dergiye reklâm verirken küçük modelinin reklâmını verir.
Regresyon: “Ev sahibi olan, evli, aynı iş yerinde beş yıldan fazladır çalışan, geçmiş kredilerinde geç ödemesi bir ayı geçmemiş bir erkeğin kredi skoru 825’dir.” Başvuru skorlamada (application scoring) bir finans kurumuna kredi için başvuran kişi ile ilgili finansal güvenilirliğini notlayan örneğin 0 ile 1000 arasında bir skor hesaplanır. Bu skor kişinin özellikleri ve geçmiş kredi hareketlerine dayanılarak hesaplanır.
Zaman İçinde Sıralı Örüntüler: “İlk üç taksitinden iki veya daha fazlasını geç ödemiş olan müşteriler %60 olasılıkla kanuni takibe gidiyor.” Davranış skoru (behavioral score), başvuru skorundan farklı olarak kredi almış ve taksitleri ödeyen bir kişinin sonraki taksitlerini ödeme/geciktirme davranışını notlamayı amaçlar.
Benzer Zaman Sıraları: “X şirketinin hisse fiyatları ile Y şirketinin hisse fiyatları benzer hareket ediyor.” Amaç zaman içindeki iki hareket serisi arasında bağıntı kurmaktır. Bunlar örneğin iki malın zaman içindeki satış miktarları olabilir. Örneğin dondurma satışları ile kola satışları arasında pozitif, dondurma satışları ile salep satışları arasında negatif bir bağıntı beklenebilir.
Fark Saptanması: “Normalden farklı davranış gösteren müşterilerim var mı?” Amaç önceki uygulamaların aksine kural bulmak değil, kurala uymayan istisnai hareketleri bulmaktır. Bu da örneğin olası sahtekârlıkların saptanmasını (fraud detection) sağlar. Örneğin Visa kredi kartı için yapılan CRIS sisteminde bir yapay sinir ağı kredi kartı hareketlerini takip ederek müşterinin normal davranışına uymayan hareketler için müşterinin bankası ile temasa geçerek müşteri onayı istenmesini sağlar.
Doküman Madenciliği: “Arşivimde (veya internet üzerinde) bu dokümana benzer hangi dokümanlar var?” Amaç dokümanlar arasında ayrıca elle bir tasnif gerekmeden benzerlik hesaplayabilmektir (text mining). Bu genelde otomatik olarak çıkarılan anahtar sözcüklerin tekrar sayısı sayesinde yapılır.
Madencilik Yapısı(Mining Structure): Microsoft tarafından kullanılan bir tanımdır. Analysis Services’daki bir vaka kümesini temsil eder. Aslında alttaki veri yapısı üzerinde yer alan bir metadata katmanıdır. Verilerin temel özellikleri yanısıra veri madenciliği açısından çeşitli özelliklerini de barındırır. Bu yapı üzerine modeller kurulur.
Madencilik modeli: Belirli bir algoritmanın belirli bir madencilik çatısı üzerine uygulanmış halidir. Aynı çatı üzerine farklı algoritmalar ya da farklı parametrelerle birden fazla model oluşturabilirsiniz.
http://oganozdogan.blogspot.com
Veri, Veritabanı, Başarılı Veritabanı Uygulamaları İçin Dört Öneri
Hasan Tonguç Yılmaz bey’in Turkcell bloğunda yeralan yazılarını izniyle paylaşıyor olacağız.Öncelikle tanımayanlar için Tonguç Yılmaz kimdir kendi yazılarından tanıyalım.
Liseyi Muğla / Fethiye Lisesi‘nde, Lisans eğitimini İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü (1994), İstanbul Bilgi Üniversitesi İşletme Yönetimi (Yüksek Lisans – 1999) ve Işık Üniversitesi Sosyal Bilimler Fakültesinde (2003) almıştır. 1996′da TekstilBank Bilgi İşlem bölümünde Veritabanı ve Sistem Yöneticisi olarak görev almıştır. 2000 yılından bu yana Turkcell’de ORACLE geliştiricisi olarak birçok görev almıştır ve 2009 Eylül ayında Turkcell – Gelir Odaklı İş Zekası takımında göreve başlamıştır. 2008′den beri Turkcell Veri madenciliği departmanında Oracle ETL geliştiricisi olarak görevine devam etmektedir.
Şimdide Başarılı Veritabanı İpuçlarına bir bakalım..
İster iş zekâsı veya bir veri ambarı projesi, ister müşteri ilişkileri veya bir kaynak yönetimi projesi olsun, konunun ana fikri bence veridir. Hazırlanan uygulamalar verinin manalandırılması için gerekeni yapmak için birer araçtır.
Veriler ise veritabanında yaşar, dolayısı ile başarılı bir veritabanı uygulaması hayata geçirmek için çalıştığınız veritabanının mimarisini ve özelliklerini doğru anlamak önemlidir.
Günümüz veritabanları lisansları içinde birçok hazır paket ile birlikte geliyorlar, müşterilerinizin isteklerini ve ihtiyaçlarını rekabete karşı hızla gerçekleştirmek için parasını ödediğiniz bu seçeneklerin neler olduğunun farkında olmak ve bu özellikleri kullanmak size önemli rekabet avantajı sağlar.
Yukarıdaki tespitlerimden yola çıkarak çalıştığınız veritabanına ve o veritabanının SQL diline hâkim olmanın önemine dört konu başlığı altında değinmek istiyorum:
1. Piyasadaki veritabanlarının sadece fiyatlandırmalarında değil, temel özelliklerinde bile ciddi farklılıklar gösterebileceğinin farkında olmanız gerekir.
Bu nedenle başarılı bir “veritabanı uygulaması”, veritabanı bağımsız araçlar ve yaklaşımlar ile bence gerçeklenemez. Veritabanı bağımsız uygulama geliştirme yaklaşımı, uygulamayı geliştiren şirketlerin daha fazla satış yapma potansiyeli olmasını desteklerken, müşterilerinin ciddi lisans maliyetleri ile sahip oldukları veritabanı kabiliyetleri ile ilgilenmez.
2. Verilerinizi işlemek için veritabanının ana dili olan SQL dilini anlamak ve verimli kullanmak gerekir. Dolayısı ile öncelikle SQL dilinin okullarda öğretildiği gibi sadece SELECT, UPDATE, DELETE ve INSERT cümlelerinden ibaret olmadığının farkında olmalısınız.
Bu farkındalık için bir süre okuma, araştırma ve geliştirme yapmanız gerekecek, bağlantısını verdiğim bu Türkçe video eğitim sizin Oracle SQL dili kabiliyetlerini anlamanız için iyi bir başlangıç olacak (teknik kısımların başlaması için 6,5 dakika kadar sabretmelisiniz ).
http://vimeo.com/2444390
3. Uygulamalarınızı tasarlarken ve gerçeklerken, veriyi işleyen kısımların satır-satır çalışmak yerine kümeler üzerinden çalışmasını sağlamalısınız. Tek bir SQL cümlesinin küme mantığı ile yapabileceği bir işi, hiç bir üst katman aracında daha verimli gerçekleyemezsiniz.
-- PL/SQL imleç: satır-satır işleme örneği
begin
for x in (select * from t1)
loop
insert into t2 (c1,...) values (x.c1,...);
end loop;
end;
-- SQL: küme işlemi örneği
insert into t2 ( c1, ... )
select c1, ....
from t1
where ....;
4. Uygulamalarınızı geliştirirken sorunlar yaşadığınızda veya sorularınız olduğunda kime güvenmelisiniz? Günümüzde Google üzerinden aratma yaparak bulamayacağımız cevap yok diyebiliriz, ama dönen bilgiler çok okunur olsalar da cidden güvenilir içeriğe sahipler denebilir mi?
Bu noktada sayılarla desteklenmiş olsa bile, hiç bir “uzman”ın size önerisini hemen satın almamanızı öneririm. Canlı ortamı temsil edecek nitelikteki kendi deneme ortamınızda(işletim sistemi sürümü, Oracle veritabanı sürümü, parametreleriniz, tablo ve dizin seçimleriniz, veri dağılımınız vs. size özeldir) önerilenleri mutlaka önce denemeli ve sonuçlarını çözümlemelisiniz.
Bu yazıda özetlemeye çalıştığım duruşum çevrenizdeki birçok kişi J2EE, SOA vs. gibi yeni teknolojileri karizmatik esas amaçlarmış gibi pozisyonlarken size eski hatta garip gelmiş olabilir, dolayısı ile tartışma potansiyeli yüksek olduğunu düşündüğüm bu yazımı sonlandırmadan önce siz okuyucuların değerli yorum ve tecrübelerini merakla beklediğimi belirtmek istiyorum.
Not: Aman SQL diline balık çizdirecek kadar kendinizi kaptırmayın, bu kadarı da cidden fazla
SQL> set pagesize 0
SQL> set linesize 3000
SQL> select y "&_DATE" from dual model return updated rows
2 dimension by (999 x) measures (lpad('x',200) y, 0 z)
3 rules iterate (80)
4 (
5 y[for x from -10 to 10 increment 1] order by x=y[cv(x)]
6 ||case when iteration_number<2 then 'X' when iteration_number<12 then
7 case when abs(cv(x))between 10-iteration_number and 11-iteration_numb
er then 'X' else ' ' end
8 when -.1+sqrt(power(iteration_number/3-14,2)+power(cv(x),2)) between 8.
5 and 10 then 'X'
9 when iteration_number=55 and cv(x)=-3 then 'O'
10 when iteration_number between 35 and 40 and cv(x)=3 then '/'
11 else ' '
12 end
13 )
14 order by x;
old 1: select y "&_DATE" from dual model return updated rows
new 1: select y "03/09/2009" from dual model return updated rows
XX XXXXXXXXX
XXX XXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXX XXXXXXXXX XXXXXXXXX
XX XX XXXXXXX XXXXXXX
XX XX XXXXXX XXXXXX
XX XX XXXXXX XXXXXX
XX XX XXXXX XXXXX
XX XX XXXX O XXXX
XX XX XXXX XXXX
XX XX XXXXX XXXXX
XX XXXXXXX XXXXX
XX XX XXXXX XXXXX
XX XX XXXX XXXX
XX XX XXXX ////// XXXX
XX XX XXXXX XXXXX
XX XX XXXXXX XXXXXX
XX XX XXXXXX XXXXXX
XX XX XXXXXXX XXXXXXX
XXXX XXXXXXXXX XXXXXXXXX
XXX XXXXXXXXXXXXXXXXXXXXXXXXXXX
XX XXXXXXXXX
21 rows selected.
SQL>
Kullanılan Kaynaklar
Good SQL Practices, Stephane Faroult
http://www.roughsea.com/vids/SQL_Best_Practices.html
Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions, Thomas Kyte
http://asktom.oracle.com
The Burden of Proof, Jonathan Lewis
http://www.google.com.tr/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2Fnocoug.org%2Fdownload%2F2003-08%2Fburden_of_proof.ppt&ei=TKifSrr8DIr-mwOenKTqDw&usg=AFQjCNGpiFj1zI49P74qUAFuiQadPq-Q8g&sig2=DXTke412DfL0ySavQl5NBg
Obfuscated SQL contest, Oracle Community – Database Developers Group
http://www.oraclecommunity.net/forum/topic/show?id=1988559%3ATopic%3A3577
http://blog.turkcell.com.tr/2009/09/18/veri-veritabani-basarili-veritabani-uygulamalari-icin-dort-oneri/
Veri Modelleme
Veri Modelleme, bir işletmenin, kurumun hatırlamaya değer bulduğu verilerin şekil ve metin olarak ifade edilmesidir. Diğer bir deyişle bir işletmede teknik ve teknik olmayan herkesin bilişim ihtiyaçlarını ifade etmeye çalışırken birbirini anlamada kullanabileceği görsel bir iletişim dilidir. Yazılım geliştirmenin en önemli süreçlerinden biri olan veri modelleme bilişim ihtiyaçlarının keşfedilmesi ve herkesin anlayabileceği bir şekilde belgelenmesi işlemidir. Bilişim ihtiyaçları, veriler ve işletme ihtiyaçlarını destekleyen işletme kurallarıdır. Bir veri modeli herhangi bir işletmenin veya bir yazılımın karmaşık bilişim ihtiyaçlarının tümünü yeterince ifade edebilmek için kullanılabilecek bir araçtır. Bir bilişim sistemi başlıca 3 ihtiyacı karşılar; çeşitli verilerin saklanması, işlenmesi ve görüntülenmesi (veya bu amaçla seçilmesi). Görüldüğü gibi bilişim sistemlerinin temelinde veri yer almaktadır. Veri Tabanı sistemleri ise en basit ifadeyle; verinin saklanması ve işlenmesi ile ilgili olarak geliştirilen genel amaçlı çeşitli yazılımlardır. Kısaca bilginin işlenmemiş hali olarak tanımlanan verinin modellenmesi herhangi bir bilişim sistemi geliştirmede neredeyse işin yarısını oluşturur. Verinin gerçek sahibi kullanıcıdır. Durum böyle olunca bilişim sistemlerinin geliştirilmesi sırasında kullanıcı temelli bir yaklaşım önem kazanmaktadır. Kullanıcı yönelimli bu yaklaşımın bazı yararları aşağıda sıralanmaktadır.
1-Kullanıcıların işin başından itibaren yazılım geliştirme sürecinde yer almaları nedeniyle yeni sisteme ve yeniye karşı olan dirençlerinin azaltılması
2- Çoğunlukla teknik açıdan olaylara yaklaşan yazılımcıların geliştireceği kurgu veya hayal ürünü veri ihtiyaçlarından kaçınılması
3-Kullanıcı eksenli geliştirilen sistemde bilişim ihtiyaçlarının daha iyi karşılanabilmesi
4- Geliştirilecek ürünün işletmede daha kolay benimsenmesi
5-Geliştirilecek yazılımın daha kısa sürede yazılması ve kalite faktörü
6-Teknik ayrıntıdan uzak, işletmede herkesin rahatlıkla anlayabileceği ve üzerinden iletişim kurabileceği görsel-grafik sembollerle ifade edilebilen veri modellerinin üretilebilmesi
7-Bilgisayar Destekli Yazılım Mühendisliği (CASE-Computer Assisted Software Engineering) araçlarıyla bu modeller hızlı şekilde veri tabanı tasarımına dönüştürülebilir
8- Yazılım geliştirme sürecinde dökümantasyon için çok yararlıdırlar.
RAC(Real Application Cluster) Architecture(Mimarisi)
İKİ NODE MİMARİSİ, KORUMASIZ
İKİ NODE MİMARİSİ ,KORUMALI UYGULAMA KATMANI VE KORUMASIZ DATABASE KATMANI
İKİ NODE MİMARİSİ ,KORUMALI UYGULAMA KATMANI VE DATABASE KATMANI
ARIZA TESPİTİ KÜMESİ
- temel yapıyı izleme ve kaynakların durumunu kontrol ederek arıza tespiti
- Küme yöneticisinde küme üyelikleri yeniden düzenleme
- Birincil düğümden ikincil düğüme disk mülkiyet transferi
- İkincil düğümde FS(failsafe) montaj
- Database(DB) örneği başlatmak
- Veritabanı(DB) ve kaydedilmemiş verilerin geri alınması(Recovery)
- Düğüme istemci bağlantıları kurmak için yük devretme
BAZI YÜK DEVRETME KÜME TEKLİFLERİ(Şirketler bazında)
- VERITAS küme sunucusu
- HP servis koruması
- Oracle Failsafe ile MICROSOFT Servis Kümesi
- RedHat Linux Advanced Server 2.1
- Oracle temsilcisi ile SUN kümesi
- Compaq, şimdi HP, ayrık kümeler
- HACMP
RAC
ÖLÇEKLENEBİLİR RAC(real application cluster)
REAL APPLICATION CLUSTER(RAC)
- Bir-kaç Nod'da Oracle durumu üzerinde çalışma
- Birden fazla olayda tek bir veritabanı(Database) paylaşımı
- Tüm olaylarda ortak veri , kontrol ve başlatma dosyaları
- Her durumun birbirinden ayrı, ortak log dosyaları ve geri alma segmentleri veya undo tabloları vardır.
- Tüm durumlardan aynı anda tek bir veritabanına karşı işlemler yürütülebilir
- Önbellekler Oracle'ın Küresel Önbellek Yönetimi teknolojisi (Cache Fusion) kullanılarak eşitlenir.
RAC YAPI TAŞLARI
- Veritabanı ve Durum dosyaları
- OCFS(Oracle cluster file system) , CFS(cluster file system) veya hassas cihazlar ile paylaşılan depolama
- HOST başına Yedek HBA(dönem ana veri yolu bağdaştırıcısı) kartları
- Küme bağlantısı için bir ve LAN bağlantısı için bir olmak kaydıyla, HOST başına Yedek NIC kartları
- ORACLE_HOMES(OCFS oracle_home kurulumunu desteklemez) için Yerel RAID korumalı sürücüler
KÜME GİRİŞLİ BAĞLANTI
FONKSİYONLAR(FUNCTION)
- Durum ve ileti senkronizasyonunda izleme pozisyonu
- Dağıtılmış Kilit yönetici mesajları Taşıma
- Uzak dosya sistemi Erişimi
- Trafiğe özel uygulama taşıma
- Küme adı yönlendirimi sağlama
ARA BAĞLANTI ÜRÜNLERİ
- Memory Channel
- Smp Bus
- Myrinet
- Sun SCI
- Gigabit Ethernet
- yüksek performanslı bilgi işlem(Infiband interconnect)
ARA BAĞLANTI PROTOKOLLERİ
- TCP/IP
- UDP
- VIA
- RDG
- HMP
- Adaptec
- DPT
- LSI Logic
- Interphase
- Qlogic
- Emulex
- JNI
- mcDATA
- EMC
- QLOGIC
- BROCADE
SYMETRIC MULTIPROCESSOR(SMP)
- Paylaşılır sistem yolu ve giriş çıkış
- Pahalı ve ölçeklenebilir problemler
- Fazladan eklenen CPU mimari parçalar yükseltme işlemine sonuç döndürebilir.
- DELL ve HP-Compaq
- Egenera'dan(sanallaştırma yazılımı) BladeFram sistemi
- Egenera- gereksiz merkezi kontrolörler, gereksiz yüksek hızlı bağlantılar
- Egenera- PAN manager handles
Bir sonraki paylaşımımda bağlantı kurulumunu adım adım özetlemeye çalışacağım.
sonrakine dek görüşmek üzere...
Oracle Datafile (Veri dosyaları) İstatistikleri
Birden fazla diski olan sistemlerde datafileların yoğunluğuna göre aktif (çok kullanılan) tabloları ve indexleri, veritabamızdaki tablespacelere dengeli olarak dağıtmak için datafileların ne kadar aktif kullanıldığını bilmekte yarar var.
Oracle bu bilgileri alabilmemiz için V$FILESTAT dinamik viewini sunar. V$FILESTAT, datafilelardaki fiziksel okuma ve yazma sayısını, okunan ve yazılan blok sayını ve okuma ve yazma işlemlerinin toplam ne kadar süre aldığı bilgilerini tutar:
SQL> SELECT * FROM V$FILESTAT;
Bu sorgu bize datafileların isimleri yerine numaralarını döndürecektir. Sorgunun döndürdüğü sonucunu daha yalın ve okunaklı hale getirebilmek için V$DATAFILE görünümünde datafile isimlerini sorguya ekleyebiliriz:
SQL> SELECT name, phyrds, phywrts FROM V$DATAFILE, V$FILESTAT WHERE V$DATAFILE.file# = V$FILESTAT.file#;
Ben V$FILESTAT görünümündeki en önemli iki veri olan PHYRDS ve PHYWRTS’ı çekmeyi yeterli buldum. PHYRDS, datafile’dan yapılan okuma sayısını, PHYWRTS ise datafile’a yapılan yazma sayısını gösterir. Bu iki değeri toplayarak toplam IO sayısını elde edebilirsiniz:
SQL> SELECT name “Datafile”, phyrds “Okuma”, phywrts “Yazma”, phyrds + phywrts “Toplam IO” FROM V$DATAFILE, V$FILESTAT WHERE V$DATAFILE.file# = V$FILESTAT.file#;
Bu değerlere bakarak veritabanızda en aktif datafileları bulup, gerekirse onları farklı disklere taşıyabilir ve daha yüksek IO performansı elde edebilirsiniz. Eğer bu mümkün değilse, IO dağılımını iyileştirmek için veritabanınızda çok kullanılan tabloları ve indexleri, farklı disklerde bulunan tablespacelere (dolayısı ile farklı datafilelara) taşıyabilirsiniz. Eğer veritabanınızda en çok okuma/yazma işlemi yapılan tablo ve indexleri bilmiyorsanız, şu sorguyu kullanabilirsiniz:
SQL> SELECT owner || ‘.’ || object_name, SUM (VALUE)
FROM v$segment_statistics
WHERE statistic_name IN (’physical reads’, ‘physical writes’)
AND tablespace_name NOT IN (’SYSTEM’, ‘SYSAUX’)
GROUP BY owner || ‘.’ || object_name
ORDER BY 2 DESC;