Sektör Görüşleri
Exadata Hybrid Columnar Compression

Exadata Hybrid Columnar Compression adı verilen, Oracle Exadata`nın tablo kolonları bazında veri sıkıştırma yeteneği sayesinde kurumlar, verilerini çok yüksek oranlarda sıkıştırılmış olarak tutmaktadırlar. Bu şekilde daha az oranda veri okuma-yazması yaparak, hem performans olarak hem de masraflardan tasarruf anlamında büyük kazanımlar elde etmektedirler.
Veri saklama giderlerindeki düşüş oranları, kullanılan Exadata Hybrid Columnar Compression yöntemine göre 10x ila 15x arasında değişmektedir. Müşteri verileri üzerinde yapılan benchmarklar sonucu 204x kata kadar varan storage kazanımları tespit edilmiştir. Piyasa ortalamasının ortalama 5 kat üzerinde olan, Exadata HCC özelliği ile elde edilmiş ortalama 10x sıkıştırma oranları sayesinde IT yöneticilerinin yeni storage donanım talepleri ciddi oranda düşmüştür. Örneğin 100 terabyte kapasiteye sahip bir veritabanı, 10x sıkıştırma oranıyla 10 terabayt lık fiziksel bir storage üzerinde saklanabilir hale gelmiştir. 90 terabaytlık elde edilen boş alan sayesinde bu kurumun IT bölümü yeni storage satınalmalarını önemli ölçüde ileri tarihlere atabilir. Elde edilen 90 terabaytlık boş alan, 9 ayrı aynı şekilde sıkıştırılmış veritabanını saklamak üzere kullanılabilir durumdadır.
Exadata Hybrid Columnar Compression iki farklı türde Exadata Storage Server sıkıştırma teknolojisini ortaya koyar. Bunlardan biri “Warehouse Compression” bir diğeri ise “Archive Compression” dir. Gelecek nesil sıkıştırma teknolojisi olan “Exadata Hybrid Columnar Compression” ın genel özellikleri şu şekildedir.
Exadata Hybrid Columnar Compression: Teknoloji Genel Bakış
Eskiden beri alışılagelmiş veri yapılarında, veri veritabanı bloklarının içerisinde “row” satır olarak tutulmakta ve dolayısıyla, satırın tüm kolonları ardışıl olarak tek bir veritabanı blogununun içinde bulunmakta idi. Farklı veri tiplerinden oluşan verilerin aynı blok içerisinde farklı kolonlarda tutulması şu ana kadar yapılan sıkıştırma teknolojilerinin sıkıştırma oranlarının önünde bir engeldi. Bu yaklaşıma alternatif olarak geliştirilen diğer bir veri saklama şekli olarak “columnar” (kolon bazlı) veri organizasyonu oluşturuldu. Aynı veri tipine ve aynı karakteristiklere sahip verilerin, kolon bazlı olarak aynı veri bloklarında tutulması, sıkıştırmayla elde edilen kazanımı çok büyük oranda olumlu etkilemiştir. Ancak diğer yandan, veriyi bu şekilde saklama, uygulamanın bir yada birden fazla kolonu sorgulaması yada birkaç kaydı update yada insert etmesi gibi yapılan bu operasyonların yavaş çalışmasına yol açacaktır.
Oracle’ın Exadata Hybrid Columnar Compression teknolojisi, veriyi veri bloklarında farklı şekilde saklama yöntemidir. İsminden de anlaşılacağı üzere, veriyi saklamak için hem kolon hem de satır bazlı yöntemlerin her ikisini birlikte etkin şekilde kullanmaktadır. Bu hybrid yaklaşım, bir başka deyişle, her iki dünyanında en iyi yöntemi, kolon bazlı veri saklama sıkıştırma oranlarını sunarken, sadece kolon bazlı saklamanın getirdigi dezavantajları ortadan kaldıracak şekilde tasarlanmıştır. “Compression Unit” (sıkıştırma birimi) adı verilen mantıksal yapı, Exadata HCC kullanılarak sıkıştırılmış satırlar kümesini saklamak için kullanılır. Veri yüklenirken, kolon değerleri satırlardan ayrılarak, sıralama – gruplama operayonlarından geçtikten sonra sıkıştırılmaya tabi tutulur. Belli sayıda satır halinde tutulan verinin, kolon verileri sıkıştırıldıktan sonra bir “compression unit” e konur.

Exadata HCC ile yapılacak olan sıkıştırmadan maksimum verimi alabilmek için, data warehouse yapısındaki veritabanlarında, veri aktarımında kullanılan toplu veri aktarım yöntemleri (bulk load) kullanılmalıdır. Exadata HCC ile compress edilmis bir tablo halen INSERT – UPDATE gibi kovensiyonel DML işlemlerine açıktır. Veri ambarı ortamlarına toplu veri yüklemede kullanılan yöntemlerin bazıları aşağıdaki şekildedir;
- Append Hinti ile çalıştırılan insert statementları
- Paralel DML işlemleri
- Direct Path çalışan Sql Loader yüklemeleri
- Create Table as Select Statementları
Veritabanına gönderilen sorgular doğrudan Exadata HCC ile sıkıştırılmış veriler üzerine gönderilir ve sıkıştırılmış verinin açılmasını gerektirmez. Gönderilen sorgunun filtre kısmında bulunan kolonun verisinin açılması gerekmezken, sadece sorguyu gönderen istemciye iletilecek kolon ve satır verileri hafızada sıkıştırılmamış hale çevrilir. Verinin sıkıştırılmış halden normal hale dönüştürülme işi Oracle Exadata Storage sunucularıda yapılarak, veritabanı sunucuların yapacağı işlerin belli kısmı storage sunucularına aktarılmış dolayısıyla performans artışı elde edilmiş olur.
Exadata Hybrid Columnar yaklaşımının en önemli özelliklerinden biri, veriyi sıkıştırılmış halde ve kolon bazlı saklamanın avantajlarını sunarken, Oracle veritabanının sunduğu diğer çok önemli özelliklerini olumsuz etkilememesidir. Örneğin, performans getirisini en fazla verinin tümünün tarandığı sorgularda görürken, tek kayıt yada az kayıt içeren sorgu sonuçları için de veriyi bir bütün halinde tuttuğu “compression unit” (sıkıştırma birimleri) leri tek okumayla getirerek performans kaybını minimize eder. Bu yaklaşımın tam tersi olarak, compression unit kullanmayan kolon bazlı sıkıştırma yöntemleri herbir kolon için bir okuma-yazma yapmak durumundadır. Dataware sistemlerinde yüzlerce kolon olduğunu düşündüğümüzde, Exadata Hybrid Columnar sıkıştırma yönteminin performans getirisini tahmin etmek çok ta zor değildir. Bu kazanca ek olarak, Exadata HCC uygulanmış tablolar, Oracle veritabanının sunduğu yüksek süreklilik, performans ve veri güvenliği gibi özelliklerden de yararlanmaya devam eder.
Warehouse Compression (Veriambarı Tipi Sıkıştırma)
Kurumların gün içi operasyonlarında veriambarlarının önemi gittikçe artmaktadır. Çok yüklü miktarda verinin saklanması, ham verinin stratejik bilgiye çevrilmesi ve yönetime kurumun daha etkin işlemesi için gerekli bilgiyi sunmak gibi görevleri yerine getirme işlemleri veriambarlarının karşıladıkları beklentilerdir. Veri ambarlarının önemi arttıkça, içerisinde saklanan verinin de önemi o oranda artmıştır. Veri miktarlarının ortalama olarak iki yılda bir iki kat arttığını düşünürsek, IT yöneticileri veri saklama maliyetleri ve uygulama sorgu performansları açısından zorlu hedeflerle karşı karşıya kalmışlardır. “Warehouse Compression” ( veriambarı tipi sıkıştırma ) bu iki zorlu hedefi karşılayabilecek gelecek nesil sıkıştırma yöntemidir.
Warehouse Compression Oracle Exadata Hybrid Columnar sıkıştırma teknolojisini kullanarak çok önemli ölçüde veri saklama kapasitesi kazancı sağlar. Warehouse Compression genel olarak 10 a 1 oranında (10x) sıkıştırma oranı sağlarken, kabaca piyasa standardı kazanım ortalamasının 5 katı daha fazla kazanç sağlar. Örneğin sıkıştırılmamış 100 terabayt boyutundaki bir veriambarı için Warehouse Compression teknolojisi kullanıldığında, aynı veriyi saklamak için sadece 10 terabayt alan yeterli olabilir. Böylece Warehouse Compression kullanım dışına çıkan 90 TB lık alanı, başka amaçlar için kullanılmak üzere açığa çıkartmış olur. Başka bir açıdan bakıldığında da açığa çıkan kullanılabilir boş storage kapasitesi sayesinde, veritabanının her iki yılda bir 2 kat büyüdüğü varsayıldığında 4 yıllık storage yatırım maliyetinden kazanılmış olur. Net olarak görünen sonuç, tasarruf edilen yer büyüklüğüyle orantılı olarak kurumlar satınalmalarını yıllarca erteleyebilir.
Veriambarı uygulamaları veri hacimlerinin artması sonucu performans problemleriyle karşılaşmaktadırlar. Analitik sorgular yüzlerce gigabaytlık veriyi tarayarak, sistem okuma – yazma kaynaklarının performans ve ölçeklenebilirliğin önünde limit olmasına neden olmaktadır. Exadata`nın paralel çalışan veri saklama sunucularının Smart Scan (akıllı tarama) yetenekleri ve Warehouse Compression özellikleri sayesinde, IT yöneticileri artık veri depolarının performansını arttırmak için disk sayısını arttırma yatırımını yapmak durumunda değiller. Warehouse Compression özelliği bir taraftan storage kullanımını azaltan bir özellik olmakla beraber, diğer bir yönden de Veriambarı sorgularında kullanılan veri taramalarındaki okuma-yazma performansını arttıran bir özelliktir. Warehouse compression teknolojisi kullanılarak sıkıştırılmış bir tablo için gerçekleştirilen sıkıştırma oranında, o tabloyu tarama için gerekli olan okuma-yazma gereksiniminde azalma olur. Bu yüzden, tablonun tümüne erişmesi gereken sorgular için, eğer Warehouse Compression ile 10x bir sıkıştırma gerçekleştirilmiş ise 10x daha az okuma-yazma gerekecektir. Toplam sorgu performansınında var olan CPU kaynaklarına göre artması beklenir. Exadata da çok önemli performans artışı sağlayan diğer bir özellikte, tablo tarama işlemlerinin büyük bir kısmını Exadata Storage larına yıkabilmeyi ve dolayısıyla daha az verinin veritabanı sunucusuna gönderilmesiyle performans artışına yol acan Exadata Smart Scan teknolojisidir. Exadata Smart Scan özelliği direkt olarak Exadata Hybrid compression la sıkıştırılmış veri üzerinde çalışabilir, bu da veri filtreleme ve sorgu projeksiyon işlemlerinin Exadata Storage sunucuları katmanında yapılabilmesi anlamına gelmektedir. Bu oranda bir veri tarama okuma-yazma performans artışının yanında, Warehouse Compression özelliği sayesinde gerek duyulan storage kapasitesinin düşmesi ve yeni disk yada ilgili kaynak arttırımı maliyetlerinin düşürülebilmesini sağlar.
Warehouse Compression iki seviyede sıkıştırma sağlamaktadır: LOW ve HIGH. Warehouse Compression HIGH(yüksek) tipik olarak 10x storage azalması sağlarken, Warehouse Compression LOW(düşük)la 6x oranında düşüş elde edilir. Her iki yöntem de, diskten daha az veri okuyarak sorgu performansını arttırabilme optimizasyonuna sahiptir. Veri saklama hacminden maksimum kazanım sağlarken performans olarak ta maksimum artışı sağlayabilmek için varsayılan olarak HIGH seçeneği kullanılmaktadır. Storage kullanımından sağlanan avantaj veri yüklemelerinde az miktarda süre artışlarına sebebiyet verebilir. Bu yüzden, veri yükleme süresinin, sorgu performansından daha önemli olduğu durumlarda Warehouse Compression LOW seçeneği tercih edilebilir.
Warehouse Compression Tanım Formatı
CREATE TABLE emp (
emp_id NUMBER
, first_name VARCHAR2(128)
, last_name VARCHAR2(128)
) COMPRESS FOR QUERY [ LOW | HIGH ];
Archive Compression (Arşiv Tipi Sıkıştırma)
Bugün IT operasyonunun karşılaştıkları güçlüklerden biri, geçmişe dönük verinin saklanma maliyeti ve zorluğudur. IT yöneticileri bir taraftan harcamaları azaltmaları yönünde uyarılırken, bir taraftan da geçmişe dönük verinin ciddi süreler tutulması hatta sonsuza dek tutulması gibi bir gereksinimin çıkmazı içerisindedirler. Organizasyonlar geçmişe dönük verilerin tutulma maliyetlerini azaltabilmek için kendilerine Information Life Cycle ( bilgi yaşam döngüsü ) stratejileri belirlemişlerdir. Veri eskidikçe, tipik ILM yaklaşımı eski veriyi daha ucuz disklere tranfer edip oradan da tape unitelerine aktarılması yönündedir. Sonuç olarak en pahalı ve en performanslı diskler, en çok ve en sık erişilen verilere hizmet edecek şekilde düzenlenmiştir. Oracle’ın yeni yaklaşımı olan Archive Compression, bu eski verilerin hem daha az yer tutacak hem de daha az maliyetli şekilde saklanmasını mümkün kılar.
Archive Compression, Exadata Hybrid Columnar sıkıştırma tekniklerini kullanarak veri saklama hacimlerine ciddi kazanımlar sağlar. Archive Compression ile asli olarak elde edilmek istenen storage kullanımından kazanç sağlamak, bu şekilde ortalama olarak 15:1 (15x) oranında arşivleme mümkündür. Bir başka deyişle sıkıştırılmamış bir tablo yada partition, Archive Compression uygulanmış haline göre 15 kat daha fazla yer kaplar durumdadır. Warehouse Compression’ın aksine Archive Compression sadece storage kazanımı elde etmek için tasarlanmış bir teknolojidir. Archive Compression uygulanmış tablo ve partitionlar için uygulanmış sıkıştırma algoritması tamamen yer kazancı odaklı olduğundan sorgu performansında yaşanan düşüş normal karşılanmalıdır. Bu nedenle Archive Compression a tabi tutulan tablolar ve partitionlar az sıklıkta erişilen verilerdir.
OLTP yada Data Warehouse yüküne sahip herhangi bir veritabanı, geçmişe dönük verilerini şıkıştırmak için Archive Compression özelliğini yer kazanımı için kullanabilir. Oracle, partitionları yada sub-partitionları bazında herhangi bir tablo sıkıştırma yönteminin kullanılmasına olanak sağlar. Bu yüzden bir OLTP uygulaması, eskiye dönük partitionlarını Archive Compression kullanarak sıkıştırırken aktif partitionları OLTP compression ile sıkıştırabilir. OLTP Compression, Oracle’ın Advanced Compression özelliğinin bir parçası olarak, transactional verilerin sıkıştırılmasını mümkün kılar. OLTP tablo sıkıştırma özelliği ortalama olarak 2-4x kat yer kazancı sağlayarak OLTP veritabanlarına katkı sağlar. Veri ambarları tipik olarak, daha sık erişilen verileri Warehouse Compressionla, daha geçmişe dönük ve daha az sorgulanan verileri Archive Compression la sıkıştırmalıdırlar.
Bir çok uygulamada, genel olarak storage kullanımının %80 ini geçmiş veriler tutmaktadır. IT teknik yöneticilerinin bu veriler için ILM yaklaşımı uygulayarak, geçmiş veriyi tape unitelerine yedeklemeleri alışılagelmiş bir yaklaşımdır. Ancak bu yaklaşım birkaç akışı da beraberinde getirir. Veri tape ünitesine yedeklendiğinde uygulama bu veriye artık direkt olarak erişemeyecektir. Arşivlenmiş verilere ulaşabilmek için, IT teknik yöneticilerinin önce bu yedekleri geriye kopyalayıp tekrardan veritabanına eklemeleri gerekmektedir. Bu çok vakit alıcı ve günümüz iş akış ihtiyaçlarını karşılamayan bir yöntemdir. Ek olarak, arşivlenmiş veri, canlı sistemdeki veri yapısının değişmesi sonucu geri kopyalanması zor bir hal almış olması muhtemeldir ve bu veriyi uygulamanın erişebileceği hale getirmek büyük eforlar gerektirebilir. Genellikle bu tip geriye dönük veri isteme talepleri acil olup, iş yöneticilerinin çok hızlı karar almasını sağlayacak bilgiler olduğundan, tape unitelerinden veri dönme yaklaşımı iş yönetimi açısından masraflı bir yaklaşımdır.
Archive Compression tape unitesinde veri saklamanın maliyetini sağlarken, aynı verilere anında erişip değişiklik yapılabilir halde saklama imkanı sağlar. Daha da fazlası, uygulama değiştikçe, veritabanındaki yapısal değişiklikler ( ek kolonlar, kısıtlar vs. ) geçmişe dönük veri yapılarına da uygulanmış olur. Bu sayede, uygulama kullanıcı geçmişe dönük veriye ihtiyaç duyduğunda, IT yöneticisi yada uygulama geliştiricisinin yardımına ihtiyaç duymadan kolaylıkla bu veriye erişebilir. Çok normal olarak Archive Compression ile sıkıştırılmış veriye erişim Warehouse Compression ile sıkıştırılan yada OLTP Table compression ile sıkıştırılana göre yavaş olmasına karşın, tape unitesinden dönülerek kaybedilen zamandan çok çok kısadır.
Canlı Archive Compression Tanım Formatı
CREATE TABLE emp (
emp_id NUMBER
, first_name VARCHAR2(128)
, last_name VARCHAR2(128)
) COMPRESS FOR ARCHIVE [ LOW | HIGH ];
Sonuç
OLTP ve Data Warehouse veritabanlarında gün geçtikte veri miktarının katlanarak artması sonucu, IT yöneticilerinin bu veriler daha uygun fiyatlarla ve daha performanslı saklama ihtiyaçları açığa çıkmıştır. Endüstri standartlarının öncüsü olarak geliştirilen Exadata Hybrid Columnar Compression teknolojisi, IT Yöneticilerine, çok etkili sıkıştırma özellikleri sunarken, bunun yanında maliyetleri düşürme ve uygulama performansını arttırma imkanı sağlamaktadır.