Blog ' da Ara

Loading

18 Haziran 2012

Oracle Exadata Teknolojileri


                                
                Günümüzde data yönetiminin önem kazanması ile birlikte datanın en kısa zmaanda işlenmesi ve analiz edilmesi de önem kazandı. Artık şirketler geçmişe dönük verilerini analiz edip istatistik lerine göre pazarlama, üretim, kaynak temini gibi alanlarda bu istatistiklerden oluşan raporları kullanıyor ve daha doğru sonuçlara ulaşıyorlar. Bu yöntem eskiden de vardı ancak günümüz teknolojisi ile birlikte dakika lar seviyesinde bu raporları elde edebiliyor ve iç çalışma mekanizmalarını devreye alabiliyorlar. İşte bu kadar kısa sürede dev veri ambarlarını  ve veritabanlarını yönetmemizi sağlayan tenolojilerden en tanınmış olan Oracle Exadata dır.
                Şekil 1 de basitçe şematize edilen exadata’nın geleneksel veritabnına göre çok farklı ve güçlü bir sistematiği vardır. Bu yazımızda Exadata nedir? Neyi sağlar? Donnaım ve yazılım özellikleri? Veri işleme performansı ne kadar hızlıdır? gibi sorularına cevap olabilecek exadata tanıtım teknik ve kapasite tanıtımını yazacağız.

Şekil 1: Oracle Exadata Server

                Exadata iki temel bileşenden meydana gelir.
                1-Database Makinası (Oracle Exadata Database Machine)
                2-Depolama Makinası (Oracle Exadata Storage Machine)
                Bu iki bileşen arada infiniband adı verilen özel bir network ile birbirine bağlıdır. Bu network fiber optik kablolama teknolojisi ile üretilmiştir. Geleneksel veritabanlarında bu network 2 Gb/s  hızına sahipken, exadata network 20 Gb/s hzızına sahiptir. İki adet infinibanddan oluşan exadata network toplamda her bir yön için 40 Gb/s hızına kadar ulaşabilir.


                Exadata Storage Makinası ise oracle tarafından üretilen özel bir depolama teknolojisidir ve smart scan mantığını kullanır. Smart scan veritabanı tarafından çalıştırılan bir sorgunun storage indexler sayesinde datanın hangi storage bloklarında bulunduğunun bilinmesi ve en kısa zamanda datayı ulaşılıp getirilmesidir. Dikkat ediniz geleneksel disklerde herhangi bir indexleme olamdığı için verinin diskten okunması çok yavaştır.
                Exadatanın diğer bir önemli yanıda Sıkıştırma özelliğidir. Exadata veriyi %85 e varan boyutlarda sıkıştırabilir. Yani 100Gb lik bir tabloyu sıkıştırdığınızda 15 Gb civarında olacaktır. Exadata sıkıştırma işlemi sırasında özel bir algoritma kullandığı için sıkıştırılan tablo sadece exadata ortamında okunabilir.Ancak yoğun insert update lerin geldiği bir tablonun sıkıştırılması performansı etkileyeceği için tercih edilmeyebilir.
                Exadata da yönetimsil anlamda avantaj kazandıran resource manager ile kullanıcılarının parallel çalıştırma vs gibi seçenekleri limitlendirilerek daha efektif bir yönetim sağlanabilmektedir.
                Oracle Exadata Teknolojileri hakkında genel bir bilgi sunduktan sonra exadata yı daha detaylı anlatmaya başlayalım.
                Exadata Storage Server (Sun Fire X4270 M2)
                Aşağıda exadata storage server detayların ilşkin bir tablo bulunmaktadır.

Şekil 2: Exadata Storage Server Detayları

                Şekil3 dede Exadata Kapasite ve belirgin depolama özellikleri belirtilmiştir.HP burada yüksek performansı HC ise yüksek kapasiteyi belirtmektedir. GB=1000*1000*1000*1000 byte olarak hesaplanmıştır.Ayrıca kapasiteye temporary alan, log,undo alanı ve indexler dahil edilmemeiştir.IOPS ise I/O per Second anlamındadır. MBPS Mega Bit Per Second ifade eder.
                

Şekil3 : Exadata Kapasite özellikleri
                 
Infiniband Network
Infiniband Network heriki yönde 40 GB/s hız sağlar.
Normal Ethernet mantığı gibi çalışır. Hem Depolama hem de Rac Interconnect için kullanılır.ZDP (Zero Dataloss Protokol) kullanır.
ZDP oracle tarafından geliştirilmiştir ve açık kaynaktır. ZDP nin Cpu maliyetide oldukça düşüktür. 1 GB/s veri kopyalarken sadece %2 lik bir cpu maliyeti vardır.Buna karşın diğer ethernek protokollerinden çok daha yüksek hızla ve düşük maliyetle çalışır.
Infiniband Network de Zero Copy-Zero Data loss mantığı hakimdir.Zero Copy, datanın network üzerinden kopyalanırken buffer kullanmamasıdır.Buffer yani memory burada sadece hardware in kopyalanacak datanın kopyalama boyunca, yeri için rezerve edilir.

Exadata Smart Scan (Akıllı Data Bulma Yapısı)
Exadata Storage indexleri sayesinde aranan datayı daha storage dan çekmeden önce filtreler ve istenemyen datayı taramadığı için daha hızlı bir geri dönüş sağlar.Bunu anlamak için şekil 4 ve şekil 5 yi inceleyelim. Şekil 4 de klasik database I/O ve Sql işlemi metodu, şekil 5 de de exadata smart scan şematize edilmiştir.


Şekil 4: Klasik I/O ve Sql işleme Metodu

                Klasik I/O ve Sql İşleme Metodu Nedir?
·         Sql çalıştırılır ve hangi extendlere gideceği database tarafından belirlenir.
·         Belirlenen extendler storage biriminden çekilmek üzere database tarafından depolama birimine yönlendirilir.
·         Tüm extendler storage biriminden çekilir.
·         Sql deki filtreye göre çekilen tüm extendler arasında istenen data filtrelenir.
·         Son olarak istenen data geri döndürülür.
Klasik yöntem yukarıda da anlatıldığı gibi ve örnektede görüleceği üzere ne kadar data istendiğine değil istenen datanın hangi extendler üzerinde olduğuna bakar.Örnektede görüldüğü üzere siz 2 MB lik bir data da çekecek olsanız from kısmındaki tüm tablonun extendleri taranır.Bundan dolayı 10 GB lik bir storage işlemiş olursunuz. Tabloda index kullanmak burada sadece 2 MB lik bir datanın 10 Gb arasında süzülmesi için hız kazandırır. Ama yinede 10 Gb I/O işlemiş olursunuz.



Şekil 5: Exadata Smart Scan

                Exadata Smart Scan Metodu Nedir?
·         Sql Çalıştırılır ve Exadata cell (storage server) birimine gönderilir.
·         Sql exadata stroage birimnde çalıştırılır.
·         İstenen data storage indexler sayesinde ayırt edilir.
·         İstenen data tüm exadata cell birimleri tarıfından elde edilir ve geri döndürülür.
Exadata Smart Scan yöntemide şekil5 de görüldüğü ve maddeler halinde anlatıldığı gibidir. Burada tablonun boyutu ne olursa olsun sadece istenen veri cell ler tarafından süzülmüş ve geri döndürülmüştür. Exadata Smart Scan metodunda görüldüğü üzere sadece 2 MB lik bir I/O işlenmiş ve geri döndürülmüştür.

Exadata Smart Storage (Akıllı Depolama Birimi)
Exadata Depolama birimleri (cell) günümüz depolama birimlerine göre çok daha akıllı bir yapıya sahiptir. Cell ler sadece data tutmaz aynı zmaanda datanın işlenmesinde de rol üstlenerek database server ın çok 10 kat daha hızlı veri işlemesini sağlar. Aşağıda exadata smart storage özellikleri açıklanmaya çalışılmıştır.
1-Row Filtreleme (Predicate Filtering): Sql in veri getireceği tablonun tüm srowları değil sadece database server tarafından istenen rowlar işlenir. Sql tarafından kullanılan row filtreleme işaretleri exadata tarafından desteklenir. Bunlar dan bazıları =,!=,z,>,<=,>=,is null, is not null,like between,not between,in, not in, exist,not exist, is of … Tüm operatörlerin listesi için aşağıdaki sql kullanılabilir.
SELECT *
            FROM v$sqlfn_metadata
      WHERE offloadable = 'YES'

2-Colon Filtreleme (Columnd Filtering);Exadata sadece sql query de geçen kolonu geri döndürür böylece LOB vs. gibi ağır kolonlar işlenmemiş olur dolayısıyla performans açısından ve badwith kullanımı açısından önemli bir kazanım sağlanır.
3-Birleştirme İşlemi (Join Prosesessing): Exadata start şemalar için (büyük tablolar ve küçük tablo, tipik yıldız yapısı) bloom filtre kullanır. Bloom filtre küçük tablonun taranıp bu taram sonucu ile hash tablo oluşturulması ve daha sonra bu hash tablo üzerinde bitmap index oluşturarak bu indexe göre join edilen kolon ve query filtre koşullarının aranmasıdır. Bu işlemde çok büyük tablolar la küçük bir tablonun birleştirilmesi işleminde nested yada hash joinden çok daha performanslıdır.
4-Encript obje taraması (Scan on encripted Data):Exadata encript edimiş tablespace yada tabloyu veritabanı için decript edip tarayabilir.Hata encript edilmiş bir tablo üzerinde row yada kolon filtreleme yapabilir.
5-Data Anlamlandırma (Scoring for data mining):Exadata dataming modellerinde kullanılan scoring fonksiyonlarını  cell’lere yükler.Bu da Database mainasındaki Cpu ve I/O yükünü azaltarak datawarehouse analiz işlemlerinin hızını artırır.
6-Backup (Yedekleme):Yedekleme işlemlerinde cell’ler tarafından veritabanına yanlızca değşen bloklar gönderildiği için backuplar daha kısa zmanda alınabilir.Çünkü network üzerinde I/O trafiği azaltılmış olur ve bandwith daha etkin kullnılmış olur.
7-Create/extend Tablespace (Tablespace oluşturma ve genişletme işlemleri): Tablespace oluşturma ve genişletme işlemleri sırasında ki blok formatlama işlemleri cell’ler tarafından yapıldığı için database makinasının bu işlemi gerçeklşeştirme sırasındaki memory, cpu ve disk yazma, network yükü kaldırılmış olur. Ve bu işlemler exadata ile daha kısa sürede yapılabilir.

Exadata Hybrid Columner Compression ( Exadata HCC Sıkıştırma)
Exadata HCC sıkıştırma özelliğinin çok sık update görmeyen tablolar üzerinde kullanılması tavsiye edilir.Sıkıştırma 10 kat’a kadar disk kazancı sağlayabilir.Sıkıştırma özelliği tablo,parititon yada tablespace seviyesinde yapılabilir. Ayrıca HCC sıkıştırma datawarehouse veya arşiv olarak iki modda yapılabilir.
1-DataWareHouse Compression: Datawarehouse uygulamaları için idealdir. Query performansı yüksektir.
2-Online Archival Compression: Maximum sıkıştırma oranı na sahiptir. Bu tip sıkıştırma çok sık değişmeyen data lar için idealdir ve storage kazancı sağlar.

Exadata Smart Flash Cache (Akıll Memory Kullnımı)
Exadata, sık erişilen tablo ve index blokları, okuma tipine göre cache (keş ) eder ve her bir cell ortalama 75 000 I/O Per Second cache üzerinden destekler. Exadata smart cache aşağıdaki objeleri cache eder.
·         Sık ulaşılan tablo ve indeler,
·         Kontrol file okuma ve yazmaları,
·         File Header okuma ve yazmaları,
·         Dba tarafından cache edilen objeler.
                Bu bağlamda aşağıdaki işlemlerde exadata flash cache kapsamında değildir.
·         Mirror copy’e yapılan I/O lar cachlenmez,
·         Backup ile ilişkili I/O cachlenmez,
·         Data Pump I/O cachelenmez,
·         Data File formatları cachelenmez,

Exadata Storage Index (Depo Birimi Indexleme)
Exadata Storage indexler cell memory lerinde tutulan ve cellee yapıaln fiziksel okuma ları azaltan yapılardır.         Eğer query storage index kullanacak şekilde filtre içeriyorsa storage indexler çok faydalı hale gelir.Storage indexler manuel create, drop yada  tüne edilmez.
Storage indexler cell tarafından query çalıştırıldığında otomatik olarak oluşturulur. Ayrıca cell reboot edildiğinde indexler memory üzerinde olduğu için yok edilir ve cell tekrar açıldığında ve query’nin ilk çalışması ile birlikte indexler tekrar oluşturulur.
Storage index number,date,varchar2 gibi data tiplerin için geçerlidir. NLSdata data tipi için geçerli değildir.
Exadata I/O Resource Management ( I/O Kaynak Yönetimi)
Geleneksek veritabanı sistemlerinde FIFO (First Input First Output) kuralı ile diske gelen I/O talepleri karşılanır. Bundan dolayı eğer siz bir kaynak üzerinde I/O yapıyorsanız sizden sonra yapılan işlem sizin işleminizden sonra işlenir. Şekil 6 da geleneksel ve Exadata I/O yönetimi şematize edilmiştir.


Şekil 6: Exadata Resource Management

Ancak Exadata da gelen I/O talepleri yüksek öncelikli ve düşük öncelikli olarak sınıflandırılır. Be yüksek öncelikli taleplerin işlenmesini öncelik tanınır.Bu akıllı I/O kaynak yönetimi db userları için tanımlanan poliçeler ile sağlanır. Şöyle ki sistemde xuser diye bir user olsun ve bu user kişisel kullanımda olsun.Eğer bu  xuserın en fazla 4 paralel çalıştırmasını istiyorsam xuser paralel limitini 4 yaparım ve böylece önemli işlemler ve datawarehouse uygulaması için sağlanması gereken kaynağı , xuser’ın kullanma ihtimalide kalmaz.

Bu yazımızda Oracle Exadata Teknolojileri hakkında detaya girmeden teorik bilgiler sunmaya çalıştık.Özetle oracle Exadata denince; Storage (Cell Server) ile Database (Database Machine) arasında  her bir yönde 40 GB/s trafik sağlayan infiniband,HCC Sıkıştırma, Depolama biriminde ki index ler vasitası ile I/O Db ye sunulan I/O miktarının azaltılması, Akıllı Flash Cache  ve Kaynakların user bazında dağıtılabilmesi ve yönetilebilmesi denilebilir.  Exadata nasıl çalışır? Nasıl bir sistemdir sorularına yanıt anlamında katkıda bulunmak istedik. Tüm resimler ve bilgiler Oracle Dökümantasyondan alınmıştır. Faydalı olması dileğiyle.

                                                                                   Özcan YILDIRIM

12 yorum:

  1. çok faydalı ve açıklayıcı bilgiler vermişsiniz, teşekkürler..

    YanıtlaSil
  2. Eline saglık Ozcan . İnfiniband ile 40GB/s değilde 40Gb/s olmalı.

    YanıtlaSil
  3. Eline saglık Ozcan. Ancak infiniband ile 40GB/s degil 40Gb/s olmalı.

    YanıtlaSil
  4. Bu yorum yazar tarafından silindi.

    YanıtlaSil
  5. Haklısın abi wordun otomatik düzeltmeisnin aizliğine uğramışım :) Yazıdada düzelttim

    YanıtlaSil
  6. Açıklayıcı ve faydalı olmuş, elinize sağlık.

    YanıtlaSil
  7. Çok açıklayıcı bir yazı olmuş, elinize sağlık.

    YanıtlaSil
  8. Emeğe saygı, teşekkürler...

    YanıtlaSil
  9. eline sağlık

    YanıtlaSil
  10. Emeğine sağlık.

    YanıtlaSil
  11. Exadata 4.2 alıp mysql kurmak mantıklı mı

    YanıtlaSil

"Sorularınız ve Eleştirileriniz Değerlidir"