Cognos dynamic cube performansının temeli çeşitli in-memory cache'leri ve database aggregate tabloları kullanmasıdır. Ek olarak Cognos query service'in 64 bit mimari'yi desteklemesidir. ve böylece Cognos dynamic cube büyük miktarda belleklere erişim sağlamaktadır.
Cognos dynamic cube, çeşitli in-memory cache'lerinde tutulan data'ları, database ihtiyaç duymadan tekrar kullanabilir. Memory'de bulunan member,aggregate ve data cache'leri kullanarak Cognos dynamic cube sadece hızlı sonuç dönmez ayrıca İlişkisel database üzerinde bulunan işlem yükünü hafifletmeye yardımcı olur.
Result set ve expression cache sırasıyla Query service'in MDX Engine'inde meydana gelen işlem miktarını azaltır. Kaynak kullanımın hızlı bir şekilde azaltmaya yardımcı olur.
Aşağıdaki bölümde Cognos Dynamic Cache tipleri detaylı bir şekilde açıklanmakadır.
- Result set cache, Query service içindeki MDX engine üzerinde bulunan bir katmanda mevcuttur. Engine tarafından üretilen her bir mdx sorgusunun result set'i bu disk üzerindeki result cache'de depolanır.
Çalışan her bir sorguyu, MDX engine ilk olarak result set cache'te olup olmadığını araştırır. Eğer bu sorgu daha önceden çalıştırılmış ise ve sorguyu çalıştıran user'ın security olarak bir sorunu gözükmese result set cache'de depolanan result set'i kullanır.
Result set cache, mevcutta çalışan sorgunun farkındadır böylece bir sorguyu 2 kez çalıştırmak imkansız hale geliyor.
- Expression Cache:Sonradan kullanmak için daha küçük çıktı ve büyük member set'ler üzerinde işlem yapılan set expression sonuçlarını depolamak için MDX engine tarafından kullanılıyor. MDX fonksiyonları ile döndürülen daha küçük data set'lerini cache'ler.
TOPCOUNT
BOTTOMCOUNT
TOPPERCENT
BOTTOMPERCENT
TOPSUM
BOTTOMSUM
FILTER
- Member Cache:Cube başladığı zaman meydana gelen ilk olay member cache'i doldurmaktadır. Cube modelinde tanımlanan tüm hiyearşiler memory'e load edilir. Her bir hiyearşinin member'ları, bir hiyearşi içindeki tüm level'lar için attribute'lerin tamamını döndüren sql ifadelesi çalıştırılarak oluşturulur.
Member cache tamamlandığı zaman eş zamanlı olarak aşağıdaki işlemler meydana gelir.
- Cube state, available olarak değişir ve cube metadata ve data istekleri için hazır hale gelir.
- Eğer cube'e in memory aggregate'ler tanımlanmışsa o zaman cube cache dolduran dataları almak için sql'leri çalıştırır.
- Aggregate Cache:IBM cognos dynamic cubes değerleri önceden hesaplanmış 2 tip aggregate'i desteklemektedir. Bunlar, IBM cognos dynamic cube'in in-memory aggregation cache'inde ve database tablorında store edilmiş tiplerdir.
in-database aggregate'ler, in-memory aggregate'lere göre detay olarak daha granular seviyededir.
- Data Cache: Data values için dynamic cube'e mdx engine tarafından gönderilen sorgu sonuçlarını içerir. Bu sorguların her biri tarafından elde edilen data, data cache'te "cubelet" olarak depolanır. Bu cache'in amacı sonraki isteklerde terkar kullanmak için önceden alınan data'yı store etmektir. Data cache cubelet'lerin toplamıdır aslında.
0 yorum:
Yorum Gönder