Merhaba Arkadaşlar,

Bu yazımda da önceki 6 yazıda olduğu gibi Exadatayı anlatmaya devam edeceğim. Exadatanın sihirli özelliklerinden birisi olan Flash Cache özelliğini anlatıyor olacağım.

Smart Flash Cache

Exadata nın yine kendine has mükemmel özelliklerinden biriside Smart Flash Cachedir, bu özellik sayesinde çok sık işlem gören ve erişim sağlanan Tablo, İndex, Controlfile ve Datafile ların Header larında yapılan işlemler sırasında tipik I/O gecikmelerini önlemek için Exadata çok sık kullanılan bu verileri Flash memory alanına taşıyıp cache bellekte işlem görür.

Smart Flash Cache özelliği adından da anlaşıldığı üzere çok akıllı bir mekanizma olduğu için hangi verinin Flash ta tutulup tutulmayacağına kullanıcıların müdahalesi olmaksızın karar verir. Kullanıcı müdahalesi olmaksızın karar veriyor dedik ancak Exadata kullanıcılara bazı objelerin segmentlerini Cache lenmesi için CELL_FLASH_CACHE özelliği verip bu objelerin cachle nmesine öncelik tanıyabiliyor. Genel itibariyle Smart Flash Cache özelliği çok nadir yada hiç kullanılmayan verileri cache lememesi yönüyle çok akıllı bir yapıya sahiptir.

Full bir X4-2 makinesinde 44.8 TB raw fiziksel flash memory  büyüklüğünde aşağıdaki gibi 56 adet PCI flash card gelir.

Her bir Storage Server da 3.2 TB boyutunda 4 adet PCI flash memory  gelir. Smart Flash Cache ayarları ilk kurulurken yapılır sonradan da ihtiyaca göre değiştirilebilir.

Her bir Storage Server a bağlanıp CellCLI tooluyla aşağıdaki sorguları çekip o Cell üzerinde bulunan Flash Cache in adı, size ı, durumunu ve modunu gibi detaylı bilgileri sorgulayabiliriz.

 

Exadata Write Through ve Write Back olmak üzere 2 tip flash cache modunu destekler. Write Through default mode olarak gelir.

Write Through

  • Bu modda yazma talebi geldiği zaman CellSRV veriyi diske yazar ve veritabanına diğer operasyonlara devam etmesi için onay gönderir ve Verinin Cache lenip Cache lenmeyeceğini öğrenmek için uygun bir çağrı almayı bekler. Bundan dolayı bu mod kullanıldığı zaman yazma modunda avantaj sağlanmaz,peşi sıra gelen okuma operasyonu ise cache lenmeden dolayı avantaj sağlar.
  • Okuma talebi geldiği zaman eğer veri ilk defa okunacaksa, CellSRV çeşitli faktörleri gözönüne alarak cache leyip cache lemeyeceğine karar vermelidir.

Write Back

Exadata Storage Software 11.2.3.2.0 versiyonuyla beraber yazma operasyonlarının yoğun olduğu ortamlarda Write back modu seçildiği zaman avantaj sağlamaya başladı. Bu mod aktifleştirildiği zaman yazma operasyonu olduğunda aşağıdaki aksiyonlar alınır.

  • Yazma talebi geldiği zaman bunun Cache lenip Cache lenmeyeceğine cevap almak için CellSRV akıllı bir Cache leme algoritması kullanır.
  • Eğer cevap olumluysa veri cache lenir ve veritabanına operasyonlarının devam etmesi için onay gönderilir.
  • Cache de tutulan veri sadece çok az kullanılmaya başlayınca yada eskiyince diske yazılır.

 

Storage Server da hangi modun kullanıldığını aşağıdaki sorguyla öğrenebiliriz.

Yada Cell in detaylı özelliklerinden de aşağıdaki gibi görebilirsiniz.

Writeback modunu Rolling modda aktifleştirmek için aşağıdaki adımlar uygulanabilir.

  1. CellCLI> drop flashcache
  2. CellCLI> list griddisk attributes name,asmmodestatus,asmdeactivationoutcome
  3. CellCLI> alter griddisk all inactive
  4. CellCLI> alter cell shutdown services cellsrv
  5. CellCLI> alter cell flashCacheMode=WriteBack
  6. CellCLI> alter cell startup services cellsrv
  7. CellCLI> alter griddisk all active
  8. CellCLI> create flashcache all
  9. CellCLI> list cell detail [OR] list cell attributes flashCacheMode

 

Yukardaki adımları her Cell üzerinde yapmamız gerekmektedir. Bu işlemi Rolling yapabildiğimiz gbi non-rolling modda da yapabiliriz. Ancak non-rolling modda yapıldığında tamamen kesinti almamız gerekmektedir.

Writeback mode yazma ağırlıklı operasyonlarda disk yerine direk Cache/memory e yazdığı için ciddi avantaj sağlar. Bu mod yazma operasyonlarının okumadan daha fazla olduğu ortamlarda çok uygundur. Genel olarak OLTP ortamlar için Write back, OLAP ortamlar için Write Through uygundur diyebiliriz.

Smart Flash Cache Logging

Aşırı commit gören sistemlerde veritabanının hızlı bir şekilde redo log yazması performans açısından çok önemli bir roldür. Exadata Software 11.2.2.4 versiyonuyla beraber Smart flash cache logging özelliğiyle redo log kayıtları aynı anda diske ve flash ( memory ) alanına yazılır. Exadata diskten yada flash dan hızlı dönüş yada onay almak istediğinde bir yazma işlemi için endişe duymadan cevap alabilecektir. Bu özellik redo logların çoklanmasına benzemektedir. Burdaki tek avantaj redo log kopyasının aynı zamanda Flash ada yazılıyor olmasıdır. Flash cache logging özelliği default olarak 512MB ve 32MB da cell üzerinde Flash alan kaplamakta olup Çoğu uygulama için eşit ve yeterli olarak tasarlanmıştır.

Flash Cache logging i aşağıdaki gibi sorgulayabiliriz.

Configuring [re] Smart Flash Cache

Smart flash cache i konfigüre etmek için aşağıdaki komutlar kullanılabilir.

CellCLI> DROP  FLASHCACHE

CellCLI> CREATE FLASHLOG ALL

CellCLI> CREATE FLASHCACHE ALL

Belirli bir obje için bu özelliği önceliklendirmek yada yetki vermek için aşağıdaki komutları kullanabiliriz.

SQL> CREATE TABLE emp (ENO NUMBER, ENAME VARCHAR2(50)) STORAGE (CELL_FLASH_CACHE KEEP);

SQL> ALTER TABLE emp STORAGE (CELL_FLASH_CACHE NONE);

 

 

 

Flash Cache Compression

Sıkıştırma teknolojilerindeki en temel amaç mevcut veriyi sıkıştırarak depolama alanından kazanç sağlamaktır. Exadata da normal data için kullandığı HCC nin yanında Flash Cache ide sıkıştırmayı desteklemektedir böylece sıkıştırma kullanılarak mevcut Flash alanine 2 katına çıkartabilir böylece disk e erişmeyi azaltabiliriz. Flash Cache compression ın aktif olabilmesi için aşağıdaki gereksinimlerin karşılanıyor olması gerekmektekdir.

  • Exadata >=X3-2
  • Exadata software >=11.2.3.3
  • Oracle Advanced Compression option

Flash Cache Compression Aktifleştirilmesi

Bir Cell üzerinde aşağıdaki adımlarla Flash Cache aktif edilir

  1. CellCLI> ALTER FLASHCACHE ALL FLUSH

 

Flash cache için write back modunda değilse aşağıdaki hata alınır.

Flash cache flush on FD_00_usdwi20 failed because flash cache is not in write back mode.

Flash cache flush on FD_01_usdwi20 failed because flash cache is not in write back mode.

 

  1. CellCLI> DROP FLASH CACHE ALL
  2. CellCLI> DROP FLASHLOG ALL
  3. CellCLI> DROP CELLDISK ALL FLASHDISK
  4. CellCLI> ALTER CELL flashCacheCompress=true
  5. CellCLI> CREATE CELLDISK all flashdisk
  6. CellCLI> CREATE FLASHLOG ALL
  7. CellCLI> CREATE FLASHCACHE ALL

 

Flash Cache in disable edilmesi isteniyorsa 5.adımda flashCacheCompress parametresi true yerine false yapılır. Flash Cache compress in aktif olup olmadığını aşağıdaki komutla sağlanabilir.

 

 

CellCLI> list cell attributes flashcachecompress

CellCLI> list flashcache attributes name,size

CellCLI> list metriccurrent fc_by_used

 

Flash Cache Compression aktif olduğu zaman sıkıştırılmamış tablolar HCC ile sıkıştırılan tablolardan daha avantajlı olur. Sıkıştırma ve gevşetme yada açma tamamen flash alanında otomatik bir şekilde gerçekleştiriği için son kullanıcıya ve uygulamaya performans problem yansımamaktadır.

 

Böylece bu yazımın daha sonuna gelmiş bulunmaktayım. Bir sonraki yazıda görüşmek dileğiyle esen kalın…

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s