VertiPaq mühərrikinin sirri.
“Power BI”-da böyük həcmli məlumatlarla işləyərkən saniyələr içində nəticə almaq artıq gündəlik reallığımıza çevrilib. Lakin bu sürətli iş prosesi bizə nə qədər təbii gəlsə də, pərdəarxasında işləyən mühərrikin gücünü və məntiqini nadir hallarda nəzərə alırıq.
Bu mexanizm “Microsoft Power BI” daxilində işləyən VertiPaq mühərrikidir. “VertiPaq” adı da təsadüfi seçilməyib. “Vertical Packing” anlayışından gəlir və məlumatın sütunlar üzrə ağıllı şəkildə sıxılaraq saxlanılmasını ifadə edir.
Bəs bu sistem ənənəvi sətirvari (row-oriented) məlumat saxlama üsullarından niyə bu qədər sürətlidir?
Ənənəvi yanaşmada məlumatlar sətir-sətir oxunur. Bu, o deməkdir ki, sistem hər sorğuda bütün cədvəli gəzir. Təsəvvür edin ki, konkret bir rəqəmi tapmaq üçün bütün kitabı səhifə-səhifə oxumalısınız. Bu yanaşma nəticə verir, amma analitika üçün çox yavaşdır. Xüsusilə də milyonlarla sətirdən ibarət məlumatlar toplusu ilə işləyirsinizsə, bu gecikmə dərhal hiss olunur.
Məhz burada VertiPaq səhnəyə çıxır və bu problemi tam fərqli şəkildə həll edir.
O, məlumatı sütun əsaslı (columnar storage) formatda saxlayaraq bütün cədvəli yox, yalnız lazım olan hissəni oxuyur.
Məsələn, “ümumi satış nə qədərdir?” sualında yalnız “satış” sütunu işlənir. Digər bütün məlumatlar prosesə daxil olmur. Bu sadə dəyişiklik performansı kökündən dəyişir.
Bu mühərrikin gücü təkcə sütun əsaslı struktura yox, həm də ağıllı sıxılma metodlarına əsaslanır.
1. Lüğət Əsaslı kodlaşdırma (Dictionary Encoding)
Təkrarlanan mətnlər rəqəmlərlə əvəz olunur.