13 Mart 2012 Salı

Oracle Advanced Compression Option

Oracle Advanced Compression Option

Oracle Veritabanının bir parçası olan "Advanced Compression" opsiyonu 11gR1 ile aramıza katılmış bir özelliktir. Adından da anlaşılacağı gibi veritabanı seviyesinde bir sıkıştırma algoritması ve özelliği sağlamaktadır.

Her geçen gün artan veri boyutları ve operasyon gereği sağlanması gereken performans seviyeleri IT yöneticileri için ciddi çalışmalar ve maliyetler gerektirmektedir. Bu bağlamda ana hedeflerden biri gelişen teknoloji ve çevre istekleri ile artmakta olan verilerin boyutlarını kontrol altına alabilmektir. Veri hacimlerinin kontrol altında tutulabilmesi içinse performanstan ödün verilmeden sağlanacak sıkıştırma algoritmalarıdır.

Bu kapsamda bir Oracle veritabanı bileşeni ve opsiyonu olan Advanced Compression, yani geliştirilmiş sıkıştırma seçeneğini inceleyelim.

Oracle Veritabanı 11gR1 ile gelen bu opsiyonla "OLTP Table Compression" seçeneği gelmiştir. Burada belirtmekte fayda var ki Advanced Compression özelliğini satın alabilmek için veritabanının Enterprise Edition lisansına sahip olması gerekmektedir. OLTP Table Compression seçeneği performansla veri sıkıştırmasının bir araya geldiği özelliktir. Düzensiz verilerin örneğin SecureFile gibi sıkıştırılması özelliği ve buna ek olarak olarak yedekleme verilerinin de sıkıştırılması söz konusu olmaktadır. RMAN ve Data Pump yedeklerini Advanced Compression opsiyonuyla sıkıştırabilmekteyiz. Daha da ilerisi Data Guard yapılandırmasında bulunan Redo Log transport dosyalarının da Advanced Compression opsiyonu ile sıkıştırılabilmesi sağlanabilmektedir.

Tablo Verisinin Sıkıştırılması

Oracle bugüne kadar sıkıştırma algoritmalarında her zaman önce rol oynamıştı. Bunun ispatı olarak Oracle Veritabanı 9i versiyonu ile aramıza katılmış olan "Basic Table Compression" özelliği gösterilebilir. Oracle Veritabanı 11gR1 ile OLTP Table Compression aramıza katılmış olup, her çeşit veri manipülasyonları için kullanılmaktadır. Bu operasyonlara DML'ler (INSERT, DELETE, UPDATE) de dahildir. Daha önce belirttiğim gibi, Advanced Compression opsiyonunu satın alarak OLTP table compression özelliğini kullanabilir ya da basic table compression için Oracle veritabanı Enterprise Edition özelliğini satın almak yeterli olabilir.

OLTP Table Compression

Oracle veritabanının eşsiz OLTP sıkıştırma seçeneği OLTP tarzı veritabanı kullanımları için geliştirilmiştir. Bu algoritma ile bir veritabanı bloğunda bulunan mükerrer kayıtlar birçok kolon üzerinde elimine edilmektedir. Sıkıştırılmış bloklar bir sembol tablo kullanmaktadır ve sıkıştırılmış verinin meta veri bilgisini içermektedir. Böylece bir tablo sıkıştırıldığı zaman mükerrer kayıtlar tek bir sembol kaydı ile saklanmaktadır. Her kayıt için küçük bir sembol kullanılmakta ve daha fazla I/O işlemi gerekmemektedir. 

OLTP Table Compression Faydaları

Yukarıda ifade ettiğim OLTP sıkıştırma algoritması sayesinde normalden 2 ila 4 kat daha fazla sıkıştırma ve alandan kar elde edildiği söylenebilir. OLTP Table Compression sıkıştırma özelliğinin faydası disk üzerindeki faydalardan da öteye gitmektedir. Şöyle ki; Oracle, sıkıştırılmış blokları açmadan okuma yeteneğine sahiptir. Yani daha önce sıkıştırılmış bütün bloklar açılmadan okunabilmektedir. Bu noktada şunu ifade edebiliriz ki herhangi bir performans kaybı yaşanmamaktadır. Hatta bazı durumlarda I/O işlemleri bazında performans artışları bile meydana gelebilmektedir zira Oracle veritabanı daha az blok okumaktadır (sıkıştırma işleminden sonra). İşte bütün bu sebeplerden dolayı OLTP Table Compression özelliği ve Advanced Compression opsiyonu eşsiz ve rakipsiz bir araçtır.

Asgari Performans Yükü

Daha önce de ifade ettiğimiz gibi OLTP Table Compression ile performans kaybı yaşanmamakta hatta bir çok olayda performans artışları görülebilmektedir. Aynı zamanda okuma yaparken sıkıştırılmış blokların yeniden açılmak ve tekrar sıkıştırılmak zorunda kalınmamasıyla birlikte okuma işlemleri etkilenmemekte, CPU'ya daha fazla yük binmemektedir. Oracle veritabanı, verinin datafile'lara yazılması sırasında da performansı arttıracak bir yöntem geliştirmiştir. Oracle veritabanı batch operasyonlarla veriyi sıkıştırmaktadır. Yani her yazma işlemi sırasında sürekli sıkıştırma işlemi yapılmamakta, ek yük sisteme bindirilmemektedir. Blokların içerisindeki eşik değerine ulaşılıncaya kadar yeni girişi başlanmış bloklar sıkıştırılmamakta ve bu eşik değerinin aşılması beklenmektedir. Bloklardaki eşik değerleri aşıldığında veriler sıkıştırılmaktadır. 

Sıkıştırma Algoritmasının Kullanılması

Yeni yaratılacak tablo ve partition'lar için OLTP Table Compression'ı aktive etmek oldukça kolaydır. CREATE komutunun sonuna COMPRESS FOR OLTP ifadesini eklemek yeterli olmaktadır. Örnek olarak;

CREATE TABLE OGAN_DENEME
(kullanici_adi varchar2(20), isim varchar2(20), soyisim varchar2(20))
COMPRESS FOR OLTP;

Daha önce varolan tablo ya da partition'lar içinse farklı yöntemler kullanılmaktadır. Bu yöntemlerle OLTP Table Compression özelliğini kullanabilirsiniz.

1) ALTER TABLE ... COMPRESS FOR OLTP
    Bu yaklaşımda OLTP Table Compression özelliği ilgili tablo için aktive edilmekte ancak tablonun içerisinde bulunan eski veriler değil, bundan sonra tabloya girilecek verilerin sıkıştırılması aktive edilmektedir. 

2) Online Redefinition (DBMS_REDEFINITION)
   Bu yaklaşımda ise ilgili tablo için OLTP Table Compression aktif hale getirilmekte aynı zamanda tabloda olan veriler de sıkıştırılmaktadır. DBMS_REDEFINITION Oracle Built-In paketi kullanılırken tablo hem okuma için hem de yazma için online konumda tutulmaktadır. DBMS_REDEFINITION'dan çok daha fazla fayda ve performans alabilmek için komutu paralel koşmanızda fayda vardır. 

3) ALTER TABLE ... MOVE COMPRESS FOR OLTP
   Bu yaklaşımda da OLTP Table Compression seçeneği gelecekteki DML işlemleri için aktif hale getirilmekte ve tabloda bulunan eski kayıtlar sıkıştırılmaktadır. Yalnız move komutu tamamlanana kadar tablo üzerinde exclusive lock alınır ve bütün DML operasyonları engellenir. Yalnızca okumaya izin verilir. Bu komutu paralel olarak koşarak daha fazla performans elde edebilirsiniz.

OLTP Table Compression özelliği 255'ten fazla kolonu olan tablolarda ve LONG veri tiplerinde desteklenmemektedir.

LOB'lerin Oracle veritabanında en iyi saklanma yolu ve formatı SecureFile LOB'dir. Advanced Compression opsiyon lisansını satın alan bir müşteri SecureFile LOB Compression özelliğini de kullanabilir.

Dosya Verisi için Sıkıştırma

Oracle veritabanı 11g versiyonu ile sunulan SecureFile, dokümanlar, excel-tipi dosyalar ve XML verilerinin veritabanında saklanmasını sağlamaktadır. SecureFile, Oracle veritabanında daha fazla performans sağlamak için geliştirilmiştir. SecureFile'lar mevcut ANSI standartlarına uygun LOB tiplerinden geçiş için tasarlanmıştır. Örneğin bir XML içeren SecureFile tipleri Advanced Compression opsiyonu ile sıkıştırıldığı zaman 2 ila 3 kat daha fazla sıkıştırma sağlamaktadır. 

Yedekleme Verisinin Sıkıştırılması

Veritabanı içerisindeki verilerin sıkıştırılmasına ek olarak, veritabanı dışındaki, veritabanı bileşenlerinin de (örneğin yedekleme verileri) sıkıştırılabilmesini Advanced Compression özelliği ile sağlanabilmektedir. Advanced Compression ile RMAN ve Data Pump ile alınan yedekleri sıkıştırabiliyoruz. Advanced Compression opsiyonu ile bu iki yedekleme türü için sıkıştırma işlemi yerine getirilebilir.

Recovery Manager (RMAN) Compression

Oracle'ın "bana göre" bugüne kadar geliştirdiği en iyi, en stabil, en güvenilir ve en çok özelliğe sahip aracı belkide RMAN'dir ve RMAN ile ilgili birçok makale yazdım. RMAN ile yedekleme çalışmalarının ve testlerinin ne kadar önemli olduğunu bir defa daha yinelemek isterim. Oracle Advanced Compression özelliği ile bu yedekleri sıkıştırabiliriz ve yedekleme verisinin kapladığı alanı düşürebiliriz. RMAN'in Oracle veritabanı ile arasındaki sıkı bağlar sayesinde yedekleme verisi daha kaset (tape) ünitesine veya diske yazılmadan önce sıkıştırılır ve herhangi bir kurtarma (recovery) durumunda yedeğin açılmasına (uncompress) gerek kalmamaktadır. 

3 adet RMAN yedek sıkıştırma seviyesi bulunmaktadır. LOW, MEDIUM ve HIGH. LOW ile HIGH arasında disk üzerinde kaplanan alan miktarları değişmekte (LOW'da daha fazla, HIGH'da daha az kaplanan alan) ancak CPU tüketimleri de ters orantılı olarak değişebilmektedir. HIGH sıkıştırma seviyesinde disk üzerinde yedek verisi daha az yer kaplayacaktır ama yedekleme sırasında sıkıştırma işlemi daha fazla CPU tüketecektir. 

Data Pump Sıkıştırması

Data Pump tarafından üretilen bir meta verisinin sıkıştırılması işlemi Oracle veritabanı 10gR2 ile sunulmuştu. Yani veri değil, meta bilgisi sıkıştırılabiliyordu. Oracle Advanced Compression özelliği ile export içerisindeki veriler (tablolar) de sıkıştırılabilmektedir. Data Pump ile alınan export'larda da RMAN'de olduğu gibi yedekten dönme, kurtarma işlemleri sırasında yedek verisinin açılmasına gerek kalmamaktadır. Sıkıştırılmış olan bu dump dosyaları herhangi bir import sırasında veritabanı yöneticisinin bir müdahalesine gerek kalmadan otomatik olarak açılacaktır. 

Bir dump dosyasının sıkıştırılması için elimizde 4 farklı seçenek vardır. Bunlar;

ALL: bütün export operasyonu için sıkıştırma geçerli kılınır.
DATA-ONLY: dump dosyası içerisindeki sadece yazılan veriler sıkıştırılır.
META-ONLY: dump dosyası içerisindeki sadece yazılan meta verileri sıkıştırılır. Varsayılan ayar budur (default).
NONE: bütün bir export operasyonu için sıkıştırma geçersiz kılınır.

Verinin sıkıştırılması ve dump dosyasının boyutları veri tipleri ve diğer faktörlere göre değişiklik gösterebilmektedir. Bir Data Pump import operasyonu sırasında CREATE TABLE komutları gerekli sıkıştırma komutlarını da içerecektir. 

Ağ Trafiğinin Sıkıştırılması

Anlata anlata bitiremediğim, Oracle'ın bugüne kadar geliştirdiği eşsiz ürünlerden bir diğeri de Oracle Data Guard'dır. Hele ki 11g ile birlikte aramıza katılan "Active Data Guard" seçeneği ile rakipsiz bir ürün haline gelmiştir. Kısaca Oracle Data Guard, veritabanındaki transaction'lardan oluşan redolog bilgisinin başka bir uzak veritabanına aktarılması ve işlenmesi üzerine çalışan bir felaket kurtarma ürünüdür. 

Oracle Data Guard ile ilgilenen birçok veritabanı yöneticisinin bildiği üzere yaşanan en büyük sıkıntı iki veritabanı arasındaki yetersiz bandwidth'dir (ağ genişliği). Bu sebepten dolayı başarıyla oluşturulan data guard yapılandırmalarının geçersiz hale geldiğini daha önce görmüştüm. Bu noktada Oracle Advanced Compression özelliği devreye girerek, transaction'ların oluşturduğu redo bilgilerinin sıkıştırılarak karşıdaki uzak veritabanına aktarılması sağlanabilmektedir. Bu sayede daha az ağ trafiği oluşmakta ve ağ genişliği düşüklüğünden dolayı data guard yapılandırmasının ve sistemin tutarlılığının tehlikeye girmesi önlenmektedir. Bence Advanced Compression özelliğinin en önemli noktası budur.

Oracle veritabanı 11gR2 ile birlikte de Oracle Data Guard yapılandırması SYNC (senkron) ya da ASYNC (asenkron) redo verisinin sıkıştırılarak aktarılmasına izin vermektedir.

Sonuç: Oracle'ın Advanced Compression veritabanı opsiyonu ile hem performans açısından kazanç sağlarken hem de ağ, disk ve veritabanı seviyesinde sıkıştırma özelliklerinden faydalanabilmek mümkün olmaktadır. Oracle'ın çok daha ileri olan sıkıştırma teknolojisinin adı "Hybrid Columnar Compression"dır ve halihazırda Oracle Exadata Veritabanı Makinesi, Pillar Axiom ve ZFS Storage Appliance ürünleri için kullanımdadır. HCC hakkında bir sonraki yazımda bahsetmeye çalışacağım. 

İyi çalışmalar dilerim.

Ogan


6 Mart 2012 Salı

Oracle SPARC SuperCluster

Oracle SPARC SuperCluster

Bu yazımda Oracle'ın geliştirdiği birçok ürünün bir arada yer aldığı SPARC SuperCluster ürününden bahsediyor olacağım.



Oracle SPARC SuperCluster T4-4 ürünü genel kullanım için tasarlanmış bir sistemdir. Yüksek performans, ölçeklenebilirlik, sistem sürekliliği ve diğer bütün Oracle bileşenlerinin bir arada yer aldığı bir üründür. Bünyesindeki ürünler aşağıdaki gibidir;

* SPARC T4-4
* Oracle Exadata Storage Server
* Sun ZFS Storage 7320
* Oracle Solaris 11
* Oracle VM for SPARC
* Oracle Solaris Containers
* Oracle Solaris Cluster
* Oracle Enterprise Manager Ops Center
* Oracle Database 11gR2
* Real Application Clusters
* Exalogic Elastic Cloud
* Oracle Optimized Solutions



Özel Tasarım: SPARC T4-4 sunucuları yüksek performans sunarken eşzamanlı işyükünü de kaldırabilmektedir.

Yüksek Performans: 10 kata kadar sorgu performansı sağlamaktadır. Veri sıkıştırması ve OLTP platform çözümleri sunmaktadır.

Yüksek Erişilebilirlik: Donanım artıklığı, birden çok I/O yolu ve gelişmiş cluster çözümleri sunmaktadır. Bu bağlamda görev kritik uygulamalar için paralel çözümler sunmaktadır.

Entegre Sanallaştırma: Gelişmiş güvenlik ve utilizasyon, daha fazla esneklik ile Oracle VM SPARC sunucuları sunulmaktadır. 

Yüksek Hızlı Infiniband: Exadata ve Exalogic'de bulunan Infiniband ağ bağlantısı SPARC SuperCluster'da da sunulmaktadır. %63'e kadar daha hızlı RAC transaction cevapları elde edilmektedir.

İnanılmaz Ölçeklenebilirlik: 8'e kadar SPARC SuperCluster kurulumu Infiniband bağlantı aracılığı ile yapılabilmektedir.

Sağlam Yönetim: Enterprise Manager Ops Center aracılığı ile basit yönetilebilirlik.


Tasarımı, testleri ve teslimatı tamamen Oracle tarafından gerçekleştirilen bu yeni ürün her anlamda eşsiz bir çözüm sunabilmektedir.

Oracle SPARC SuperCluster hakkında teknik detaylara ulaşabilmek için tıklayınız.

İyi çalışmalar dilerim.

Ogan
Takip et: @oganozdogan