- •Мукажанов нуржан какенұлы Əр түрлі құрылымды деректерді жедел аналитикалық өңдеу үдерістерінің ақпараттық-есептеуін қамтамасыз ету
- •6D070400 – Есептеу техникасы жəне бағдарламалық қамтамасыз ету Философия докторы (PhD)
- •Мазмұны
- •Деректерді аналитикалықөңдеудіңқазіргікездегіжай-күйі 14
- •Жедел аналитикалық өңдеулерүшінреляциялық жəне nosql деректерді бірыңғай құрылымға келтіру үлгілеріменəдістері 48
- •Бөлімбойыншатұжырым 80
- •Деректерді жедел аналитикалықөңдеугеарналған деректер қоймасына тиімді деректер құрылымынəзірлеу 81
- •Бөлімбойыншатұжырым 113
- •Əзірленген үлгілер,əдістержəнеалгоритмдердің ашық үкіметпорталыашықдеректерін аналитикалықөңдеудегіпрактикалықапробациясы 114
- •4 Бөлімбойыншатұжырым 131
- •Пайдаланылғанəдебиеттертізімі 133
- •Нормативтік сілтемелер
- •Анықтамалар
- •Белгілеулер мен қысқартулар
- •Диссертациялық жұмысты қорғауға келесі нəтижелер шығарылады
- •Деректерді аналитикалық өңдеудің қазіргі кездегі жай-күйі
- •Деректерді аналитикалық өңдеудің шешімдер қабылдауды қолдау жүйелеріндегі орыны менрөлі
- •Деректерді аналитикалық өңдеудің əдістері, технологиялары жəне платформалары
- •Деректерді көп өлшемді жедел аналитикалық өңдеудің мəселелері жəне зерттеу тапсырмаларыныңқойылымы
- •Бөлім бойыншатұжырым
- •Жедел аналитикалық өңдеулер үшін реляциялық жəне nosql деректерді бірыңғай құрылымға келтіру үлгілері менəдістері
- •Деректерді бірыңғай құрылымға келтіруəдістері
- •Деректер базалары моделдерініңерекшеліктері
- •Реляциялық жəне NoSql деректерді бірыңғай құрылымға келтіру əдісінəзірлеу
- •Бөлім бойыншатұжырым
- •Деректерді жедел аналитикалық өңдеуге арналған деректер қоймасына тиімді деректер құрылымын əзірлеу
- •Деректер қоймасы ішкі құрлымыныңұйымдастырылуы
- •Аналитикалық деректерді өңдеудің көп өлшемді индекстік деректер құрылымынұйымдастыру
- •Агрегациялық мəндерді есептеудің ағаш түріндегі құрылымын əзірлеу
- •Бөлім бойыншатұжырым
- •Əзірленген үлгілер, əдістер жəне алгоритмдердің ашық үкімет порталы ашық деректерін аналитикалық өңдеудегі практикалықапробациясы
- •Ақпараттық-аналитикалық жүйелердің мемлекеттік секторларда қолданылуы
- •Деректерді жедел аналитикалық өңдеудің мемлекеттік секторда қолданылуы
- •Ашық деректерді жедел аналитикалық өңдеудің ақпараттық- аналитикалық жүйесінəзірлеу
- •4 Бөлім бойынша тұжырым
- •Қорытынды
- •Пайдаланылған əдебиеттер тізімі
- •Қосымша а
- •Қосымша б
- •Қосымша в
- •Қосымша г
- •Қосымша д
Бөлім бойыншатұжырым
Деректерді аналитикалық өңдеуде деректер қоймасына дереккөздердегі деректерді біріктірудің əдістеріқарастырылды.
Зерттеу жұмысында бастыпқы дереккөздері ретінде алынатын əр түрлі құрылымдардағы реляциялық жəне NoSQL ДБ-лары үлгілері ерекшеліктері қарастырлып, олардан қажетті ақпаратты алу жолдарыанықталынды.
Деректер қоймасы деректерді сақтаудың ішкі құрылымдары мен үлгілеріне шолу жасалынып, деректерді біріктіру əдісін əзірлеуде пайдаланылатын деректер қоймасы үлгісіанықталынды.
Көп өлшемді аналитикалық өңдеуде пайдаланылатын өлшемдердің, сандық көрсеткіштердің жəне т.б. деректердің гипертекше түріндегі құрылымы жəне жиындар теориясы бойынша математикалық сипаттамасыкелтірілді.
Əр түрлі құрылымдардағы реляциялық жəне NoSQL ДБ-лары деректерін көп өлшемді аналитикалық өңдеу үшін Map Reduce параллелді үлгісінде жұмыс жасауға бағытталған бірыңғай құрылымға біріктіру жəне бастапқы агрегациялық көрсеткіштерді есептеудің (келтіру) үлгісі мен əдісіəзірленді.
Деректерді жедел аналитикалық өңдеуге арналған деректер қоймасына тиімді деректер құрылымын əзірлеу
Зерттеу жұмысының бұл бөлімінде деректерді көп өлшемді жедел аналитикалық талдауда қажетті деректерге жылдам қатынауды қамтамасыз ету мақсатында барлық агрегациялық деректерді алдын ала қалыптастыруды жүзеге асыратын көп өлшемді индексті құрылым əзірлеу жəне көп өлшемді индексті құрылымға негізделген агрегациялық мəндерді есептеудің баланстрылған ағаш түріндегі құрлымдарын құру, сонымен қатар аналитикалық сұранымдар жасау кезінде алдын ала есептелінген агрегациялық деректерге тиімді қатынауды жүзеге асыратын көп өлшемді баланстрылған ағаш құрылымдарына бағытталған тиімді алгоритм əзірлеу.
Мүмкін болатын барлық агрегациялық деректерді алдын ала қалыптастыру гипертекше деректеріне жасалынатын сұранымдарды жылдам орындауға мүмкіндік береді, бірақ алдын ала есептелінген агрегациялық деректер есебінен жəне жаңа өлшемдер қосу деректер қоймасы көлемінің экспоненциалды артуына алып келеді. Бұл жады ресурстарын үнемдеу, көлемді деректерге жедел қатынау тапсырмаларын тудырады. Деректер қоймасы көлемі үлкен болған жағдайда аналитикалық деректерді сыртқы жадыда сақтау, ал сұранымдар кезінде деректерге тиімді қатынауды ұйымдастырудың бірден бір жолы арнайы деректер құрылымын əзірлеу болыптабылады.
Деректер қоймасы ішкі құрлымыныңұйымдастырылуы
Деректер қоймасы – пəндік-бағытталған, біріктірілген, аналитикалық өңдеулерде күрделі сұранымдарды орындауға оңтайландырлылған, шешімдер қабылдауды қолдау мақсатында ұйымдастырылған, деректер жиынын сақтауды қолдайтын деректер базасы. Деректерді көп өлшемді жедел талдауда деректер қоймасының логикалық моделі ретінде реляциялық, өлшемдік, көп өлшемді, баған-бағытталған, құжат-бағытталған жəне т.б. моделдерді қолдайтын түрлі ДББЖ-лері пайдаланылады. 2-бөлімде берілген үлкен көлемді деректердің логикалық құрылымын анықтау мен ұсынуға арналған деректер моделдерінің аналитикалық тапсырмаларды шешуде өзіндік артықшылықтары мен кемшіліктері бар. Үлкен көлемді деректерді аналитикалық өңдеу үшін қолайлы жəне тиімді модел алынуы қажет.
Жүргізілген тəжірибелік сынақтар нəтижелері бойынша баған-бағытталған, кілт-мəн жəне құжат-бағытталған деректер моделдері негізіндегі NoSQL ДБ үлкен көлемді деректерге таңдау жасау арқылы жүргізілетін операцияларда жəне сыртқы деректерді ДБ-на жүктеу кезінде ең жоғары жылдамдықтар көрсеткен болатын. Ал, аналитикалық тапсырмаларға арналған түрлі математикалық есептеулерді орындауда (sum, count, max, min, avg жəне т.б. функциялар) реляциялық үлгідегі ДБ жəне реляциялық үлгі негізінде құрылған өлшемдік ДБ моделі ең жоғарғы жылдамдық көрсетті [82]. Реляциялық жəне көп өлшемді деректер моделдерін деректерді аналитикалық өңдеуде қолдануда ескеретін жағадай, көп өлшемді моделдің аналитикалықөңдеу
тапсырмаларында реляциялық моделмен салыстырғанда жылдамдығы жоғары, себебі бұл моделдің деректерді аналитикалық өңдеуге арналып əзірленуінде. Осыған байланыста бұл моделді құруда қалыпты формаға келтіру толық жүргізілмейді, тек бірінші, екінші қалыпты формаларға келтіріледі жəне көп өлшемді сұранымдарды орындау мүмкіндігінің болуы. Қалыпты формаға толық келтірмеген үлгіде деректер толық бөлінбейді, сондықтан таңдау операциялары жылдамырық орындалады. Бірақ, бұл моделде құрылған ДБ жадыдан көп орын алады. Басты себеп, деректерді қалыпты формаға келтіру толық жүргізілмеу себебінен қайталап сақтаулар орын алады.
Реляциялық моделдің көп өлшемді моделмен салыстырғандағы артықшылығы, ДБ толық қалыпты формаға келтіру жүргізілгендіктен жадыдан аз орын алады. Бірақ, қалыпты формаға келтіру барысында деректер көптеген жекелеген кестелерге бөлінеді. Осыған байланысты, нақты уақыттағы аналитикалық сұранымдарды орындау кезінде қажетті мəліметтерді бірнеше кестеден жинау өнімділікті төмендетеді.
Деректер қоймасының ішкі құрылымы.Қарастырылып отырған жұмыста барлық бастапқы дереккөздерден алынған жəне аналитикалық өңдеуде пайдаланылатын деректер деректер қоймасында сақталынады. Аналитикалық деректерді сақтау көп өлшемді деректер базасы көмегімен немесе реляциялық деректер базасын басқару жүйесінде «жұлдызша» (star schema) немесе
«ақшақар» (snowflake schema) тиіпті сұлбаларды пайдалану арқылы жүзеге асырылады. «Жұлдызша» (star schema) жəне «ақшақар» (snowflake schema) тиіпті сұлбалар қазіргі таңда деректер қоймасында кеңінен қолданылады.
«Жұлдызша» (star schema) жəне «ақшақар» (snowflake schema) тиіпті сұлбаларда мəліметтер екі түрлі кестеде өлшемдер кестесінде жəне факт кестесінде (таблица фактических значений) сақталынады. Агрегациялық деректерді қалыптастыру мен тиімді қатынау құрылымын əзірлеуде деректер қоймасы ішкі құрылымы ретінде өлшемдік үлгі алынады. Бірақ, бұл əзірленген құрылым деректер қоймасының тек өлшемдік моделінде ғана жұмыс жасайды дегенді білдірмейді, басқада моделдеріне қолдануға болатын арнайы əзірленген құрылымболмақ.
Деректер қоймасының сұлбасы 3.1 – суретте көрсетілген. 3.1 (а) – суретте өлшемдер кестесі берілген. Егер өлшемдерді гипертекшенің осьтері деп алсақ, ондаөлшем элементтері, яғни өлшемдер кестесіндегі əр бір жазба гипертекше остеріндегі нақты координаталарға (нүктелерге) сəйкес келеді. Факт кестесі 3.1
(b) – суретте көрсетілген. Факт кестесі факт мəндерінен жəне өлшем кестелерінің ішкі кілттерінің жиынтығынан тұрады. Өлшем кілттернің қиылысу осінде нақты сандық шамалар –сандық көрсеткіштерорналастырылады.
«Жұлдызша» типті схемада бір өлшемнің барлық мəліметтерін бір кестеде, ал сандық көрсеткіштерді факт кестесінде сақтайды. Факт кестесі мен өлшемдер кестесі бір бірімен ішкі кілт жəне сыртқы кілттер бойынша байланыстырылады. Бір өлшемнің барлық элементтерін (көрсеткіштерін) бір кестеде сақтау тиімсіз болуы мүмкін. Көптеген өлшем көрсеткіштерін қайталанып сақтауға алып келеді. Мысалы, уақыт өлшемін алып қарайтын болсақ, оқу жылы екі семестрден тұрады, ал семестр 15 аптадан тұрады. «Оқу жылы» өлшеміне
арналған кестеде бір оқу жылын 30 рет қайталап сақтаймыз. Мұндай қайталанып сақталынатын өлшемдер бірнешеу болуы мүмкін. Бұл дегенміз дискіден қосымша орын талап етеді жəне деректердің сəйкестігінің бұзылуына алып келеді. Аталған мəселені шешу үшін өлшем кестелеріне нормалдау жасалынады. Өлшем кестелері қалыпты формаға келтіріліп, бірнеше кіші кестелерге бөлінеді де бір бірімен ішкі жəне сыртқы кілттер арқылы байланыстырылады. Бұдан «ақшақар» (snowflake schema) тиіпті сұлба алынады.
«Ақшақар» (snowflake schema) типті сұлбасы қалыпты формаға келтірудің бірнеше деңгейін қолдайды жəне көп өлшемді деректер моделінде мəліметтердің өзара тимді байланысын алуды қамтамассыз етеді.
Сурет 3.1 – Деректер қоймасы сұлбасы ("жұлдызша" типті сұлба)
Жалпы OLAP технологиясымен жұмыс жасайтын жүйелердің деректер қоймасы кестелерінде екі түрлі баған қолданылады: өлшемдер жəне факт мəндері. Өлшемдер мен факт мəндері өрістері бойынша гиперкубты құру, өлшемдерді остер бойынша орналастыру жəне сандық көрсеткіштерді (факт мəндерінен) есептеу логикасы əр түрлі болып келеді. Сонымен қатар құрылған гиперкуб мəліметтерін сақтау тəсілдері де əр түрлі. Көп жағдайда көп өлшемді деректер базасында түрлі деңгейдегі агрегациялық көрсеткіштерді сақтайды. Агрегациялық мəндерді сақтаудың мақсаты – сұранмдардың орындалу уақытын
азайту, себебі жинақталған үлкен көлемді деректер бойынша болжамдар жасау, шешімдер шығару үшін көбінесе жеке-жеке берілген бастапқы көрсеткіштер емес, агрегацияланған көрсеткіштер қажет. Гипертекше үшін есептелінген агрегациялық мəндер реляциялық деректер базасында немесе көп өлшемді деректер базасында сақталуы мүмкін.
Деректерді көп өлшемді құрылымда ұйымдастыру.Деректер қоймасы ішкі құрлымынан бөлек, пайдаланушыларға деректерді көп өлшемді ұсынуды ұйымдастырудың бірнеше тəсілдері əзірленген: ROLAP, MOLAP жəне HOLAP. Талдау деректерін көп өлшемді моделде жүзеге асыратын əдістерге келесідегідей маңызды көрсеткіштер қатысты: өңдеу өнімділігі жəне деректерді сақтауда талап етілетінресурстар.
ROLAP – барлық талдау деректерін реляциялық ДБ-да сақтайды. Реляциялық моделдегі ДБ-да барлық деректер кесте жəне кестелер арасындағы байланыс түрінде берілетіні белгілі. ROLAP – реляциалық үлгі негізінде ұйымдастырылған гипертекшеде агрегациялық мəндерді есептеу SQL сұранымныңsum(), avg(), max(), min()жəне т.б. функциялары арқылы есептелінеді, ал топтастыру GROUP BY операторы көмегімен жүзеге асады. Аналитикалық сұраным тиімділігін арттыру үшін индекстеу пайдаланылады. Аналитикалық көрсеткіштерді қалыптастыру бірнеше өлшем бойынша (бірнеше өлшемнен тұратын қима) қалыптастырылады, яғни көп өлшемді талдау жасалынады. Бірақ деректерге қатынау тиімділігін арттыруда бір өлшемді индекстеу алынады. Мысалы, Microsoft MS SQL Server ДББЖ - де құрылған деректер қоймасынан ROLAP - бойынша көп өлшемді аналитикалық деректерді алуда индекстеу келесідегідей жүзеге асады[105]:
а) Əр бір өлшемдер кестелері жəне факт кестесі бойынша ішкі кілттерді беру.
б) "Жұлдызша" типті сұлба үшін өлшемдер жəне факт кестелеріндегі ішкі жəне сыртқы кілттерді беру.
в) Өлшемдер жəне факт кестелеріндегі ішкі кілттерді индекс ретінде жариялау.
г) Факт кестесіндегі сыртқы кілттерді индекс ретінде жариялау.
Келтірілген индекстеуден деректерге қатынау бір өлшемді индекстер бойынша қажетті өлшемдерге сəйкес келетін факт кестесіндегі сыртқы кілттермен орындалатынын көруге болады.
Ашық кодта жазылған ROLAP құрылымы бойынша ұйымдастырылған Mondrian көп өлшемді аналитикалық өңдеу өнімін қарастыратын болсақ. Онда деректерді алу, агрегациялық мəндерді қалыптастыру, жоғарыда келтірілген SQL командалары арқылы жүзеге асырылады. Деректерге қатынау тиімділігін арттыру бір өлшемді индекстер бойынша орындалады. Бір өлшемді индекстер бойынша бір уақытта бірнеше индекстер сұранымдар жасау кезекпен орындалады. Алдымен бірінші индекс бойынша іздеу жүргізіледі, бірінші индекс мəні алынғаннан кейін екінші индекс бойынша іздеу, содан кейін үшінші индекс бойынша т.с.с.n– индекс мəнін толық алып болғанша іздеу жүргізіледі.
MOLAP - дереткерді сақтау жəне оларды басқаруда көп өлшемді моделді пайдаланады. Мұнда деректер реттелген көп өлшемді массив түрінде сақталынады. Бұл модел негізінен коммерциялық өнімдерде жүзеге асырылған жəне басым көпшілігі жабық программалық кодта. Коммерциялық программалық өнімдерде көп өлшемді моделді жүзеге асрудың ішкі құрылымы əр əзірлеушінің өзіндік "now & how" болып қалуда. Басқа жүзеге асыру тəсілдерімен салыстарғанда MOLAP аналитикалық деректерді жоғарғы жылдамдықта береді. Басты кемшілігі аналитикалық деректер көлемі бірнеше Гбайттан аспайды, себебі барлық деректерді жедел жадыда сақтауды, ал əдетте жедел жады көлемі бірнеше Гбайттан аспайды. Деректер көлемі артқан сайын үнемі жедел жады көлемін ұлғайту. Əрине, бұл үнемі қаржылық шығындарды талап етеді. MOLAP – құрылымы бойынша гипертекше деректері көп өлшемді массив түрінде ұйымдастырылатындықтан, деректерге қатынау көп өлшемді индекстер бойынша жүзеге асырылады.
HOLAP - будандық архитектурасы, ROLAP жəне MOLAP жүзеге асыру тəсілдерін біріктіреді. Аналитикалық деректер көлемі аса үлкен емес жəне кеңістікте тығыз орналасқан кезде MOLAP мүмкіндіктерін пайдаланады, ал деректер көлемі шамадан тыс артық жəне сиретілген түрде болған кезде ROLAP жүзеге асырылуларынпайдаланады.
Үлкен көлемді деректерді көп өлшемді жедел талдау жүйелері реляциялық OLAP қолданады. Бұл моделдегі жүзеге асырылған көп өлшемді гипертекше үлкен көлемді деректерді талдауға мүмкіндік береді, бірақ деректерді беру жылдамдығы деректер қоймасы көлемі артқан сайын төмендейді. Көлемді деректерді көп өлшемді өңдеуді жүзеге асыру мəселелерін екі жолмен шешуге болады: бірінші, замануи жоғары өнімділікті есептеу жүйелерін пайдалану арқылы өнімділікті арттыру жəне екінші жолы, жоғары өнімділікті есептеу жүйелеріне шығынданбай деректерді қымбат емес сыртқы құрылғыларда сақтау. Ал өңдеу үшін арнайы тиімді алгоритмдер мен деректер құрылымдарын əзірлеу.
Ескеретін жағдай, қазіргі уақытта деректер көлемінің артуы, оларды өңдеуде заманауи жоғары өнімділікті есептеу жүйелерін пайдаланбай шешу мүмкін емес жағдайларды да кездестіруде. Мысалы, горизонталды маштабталған əр түрлі құрылымдағы ДБ – ларынан жедел аналитикалық талдауларға қажетті деректерді алу үшін барлық ДБ бойынша іздеу жасау жəне алынған үлкен көлемді дереткерді өңдеу əрине жоғары өнімділікті параллелді есептеу жүйелерін қолдануды қажет етеді.
Бұл зерттеу жұмысының тапсырмаларына сəйкес, көлемді деректерді көп өлшемді жедел аналитикалық өңдеуді тиімді жүзеге асыруды қамтамасыз ету мақсатында, алдын ала мүмкін болатын барлық агрегациялық көрсеткіштерді есептеу, есептеуді деректер құрылымы бойынша жүзеге асыру, деректер құрылымын сыртқы сақтау құрылғыларында сақталынған деректерге бағыттау жəне деректерге жасалынатын көп өлшемді аналитикалық сұранымдарды тиімді орындау үшін көп өлшемді индексті құруқарастырылады.
