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
çok faydalı ve açıklayıcı bilgiler vermişsiniz, teşekkürler..
YanıtlaSilEline saglık Ozcan . İnfiniband ile 40GB/s değilde 40Gb/s olmalı.
YanıtlaSilEline saglık Ozcan. Ancak infiniband ile 40GB/s degil 40Gb/s olmalı.
YanıtlaSilBu yorum yazar tarafından silindi.
YanıtlaSilHaklısın abi wordun otomatik düzeltmeisnin aizliğine uğramışım :) Yazıdada düzelttim
YanıtlaSilAçıklayıcı ve faydalı olmuş, elinize sağlık.
YanıtlaSilÇok açıklayıcı bir yazı olmuş, elinize sağlık.
YanıtlaSilEmeğe saygı, teşekkürler...
YanıtlaSileline sağlık
YanıtlaSiliyi bir öğe teşekkür ederim
YanıtlaSilEmeğine sağlık.
YanıtlaSilExadata 4.2 alıp mysql kurmak mantıklı mı
YanıtlaSil