DB2 - Arabellek havuzları

Bu bölüm size veri tabanındaki Bufferpool'ları tanıtır.

Giriş

Tampon havuzu, veritabanı yöneticisi tarafından tahsis edilen ana hafıza alanının bir parçasıdır. Tampon havuzlarının amacı, tabloyu önbelleğe almak ve diskteki verileri indekslemektir. Tüm veritabanlarının kendi tampon havuzları vardır. Yeni veritabanı oluşturulurken varsayılan bir arabellek havuzu oluşturulur. "IBMDEFAULTBP" olarak adlandırıldı. Kullanıcı gereksinimlerine bağlı olarak, bir dizi arabellek havuzu oluşturmak mümkündür. Arabellek havuzunda, veritabanı yöneticisi tablo satırı verilerini bir sayfa olarak yerleştirir. Bu sayfa, veritabanı kapatılıncaya veya alan yeni verilerle yazılıncaya kadar arabellek havuzunda kalır. Arabellek havuzundaki verilerle güncellenen ancak diske yazılmayan sayfalara "Kirli" sayfalar denir. Arabellek havuzundaki güncellenmiş veri sayfaları diske yazıldıktan sonra, arabellek havuzu başka bir veri almaya hazırdır.

Tablo alanları ve tampon havuzları arasındaki ilişki

Her tablo alanı, bir veritabanındaki belirli bir arabellek havuzuyla ilişkilendirilir. Bir tablo alanı, bir tampon havuzuyla ilişkilendirilir. Arabellek havuzu ve tablo alanının boyutu aynı olmalıdır. Birden çok arabellek havuzu, genel performansını artırmak için veritabanı tarafından kullanılan belleği yapılandırmanıza olanak tanır.

Bufferpool boyutları

Arabellek havuzu sayfasının boyutu, "CREATE DATABASE" komutunu kullandığınızda belirlenir. Sayfa boyutunu belirtmezseniz, 4KB olan varsayılan sayfa boyutunu alacaktır. Arabellek havuzu oluşturulduktan sonra, sayfa boyutunu daha sonra değiştirmek mümkün değildir

Mevcut veritabanı dizinindeki mevcut arabellek havuzlarını listeleme

Syntax: [Aşağıdaki sözdizimi, veritabanındaki tüm kullanılabilir arabellek havuzlarını gösterir]

db2 select * from syscat.bufferpools

Example: [Mevcut veri tabanındaki mevcut tampon havuzlarını görmek için]

db2 select * from syscat.bufferpools

Output:

BPNAME      BUFFERPOOLID DBPGNAME   NPAGES      PAGESIZE    ESTORE 
NUMBLOCKPAGES BLOCKSIZE   NGNAME
------------------------------------------------------------ 
IBMDEFAULTBP                                                                                                                
 1 -                                                                                                  
 -2        4096 N                  0           0 -     
 
 1 record(s) selected.

Tampon havuzunun oluşturulması

Veritabanı sunucusu için yeni bir arabellek havuzu oluşturmak için, "arabellek havuzu adı" ve "sayfa boyutu" olmak üzere iki parametreye ihtiyacınız vardır. Aşağıdaki sorgu, yeni bir arabellek havuzu oluşturmak için yürütülür.

Sözdizimi: [Aşağıdaki sözdiziminde, "bp_name" arabellek havuzu adını belirtir ve "boyut" arabellek havuzları için bildirmeniz gereken sayfanın boyutunu belirtir (4K, 8K, 16K, 32K)]

db2 create bufferpool <bp_name> pagesize <size>

Example: ["Bpnew" adında ve "8192" (8Kb) boyutunda yeni bir arabellek havuzu oluşturmak için.]

db2 create bufferpool bpnew pagesize 8192

Output

DB20000I The SQL command completed successfully.

Arabellek havuzunu düşürmek

Arabellek havuzunu bırakmadan önce, kendisine herhangi bir tablo alanı atanmış olup olmadığını kontrol etmek gerekir.

Syntax: [Arabellek havuzunu bırakmak için]

drop bufferpool <bp_name>

Example: ['Bpnew' adlı bufferpool'u bırakmak için]

db2 drop bufferpool bpnew

Output

DB20000I The SQL command completed successfully.