OLAP sa pamamahala sa pananalapi. Teknolohiya ng OLAP Olap system online analytical processing

mga bodega ng data ay nabuo batay sa mga snapshot ng mga operational database na naitala sa mahabang panahon sistema ng impormasyon at posibleng iba't ibang panlabas na mapagkukunan. Gumagamit ang mga data warehouse ng mga teknolohiya ng database, OLAP, malalim na pagsusuri ng data, at visualization ng data.

Mga pangunahing katangian ng mga bodega ng data.

  • naglalaman ng makasaysayang data;
  • nag-iimbak ng detalyadong impormasyon, pati na rin ang bahagyang at ganap na buod ng data;
  • ang data ay halos static;
  • isang ad hoc, unstructured at heuristic na paraan ng pagproseso ng data;
  • katamtaman at mababang intensity ng pagproseso ng transaksyon;
  • hindi mahuhulaan na paraan ng paggamit ng data;
  • nilayon para sa pagsusuri;
  • nakatutok sa mga lugar ng paksa;
  • suporta para sa estratehikong paggawa ng desisyon;
  • nagsisilbi sa medyo maliit na bilang ng mga empleyado ng pamamahala.

Ang terminong OLAP (On-Line Analytical Processing) ay ginagamit upang ilarawan ang modelo para sa pagpapakita ng data at, nang naaayon, ang teknolohiya para sa pagproseso nito sa mga warehouse ng data. Gumagamit ang OLAP ng multidimensional na view ng pinagsama-samang data upang magbigay ng mabilis na access sa madiskarteng impormasyon para sa malalim na pagsusuri. Ang mga aplikasyon ng OLAP ay dapat magkaroon ng mga sumusunod na pangunahing katangian:

  • multidimensional paglalahad ng datos;
  • suporta para sa mga kumplikadong kalkulasyon;
  • wastong pagsasaalang-alang sa kadahilanan ng oras.

Mga Bentahe ng OLAP:

  • promosyon pagiging produktibo kawani ng produksyon, mga developer mga programa sa aplikasyon. Napapanahong pag-access sa madiskarteng impormasyon.
  • pagbibigay ng sapat na pagkakataon para sa mga user na gumawa ng sarili nilang mga pagbabago sa schema.
  • Umaasa ang mga aplikasyon ng OLAP mga bodega ng data at OLTP system, tumatanggap ng kasalukuyang data mula sa kanila, na nagpapahintulot sa pag-save kontrol sa integridad data ng kumpanya.
  • pagbabawas ng load sa OLTP system at mga bodega ng data.

OLAP at OLTP. Mga katangian at pangunahing pagkakaiba

OLAP OLTP
Imbakan ng data dapat isama ang parehong panloob na data ng kumpanya at panlabas na data Ang pangunahing mapagkukunan ng impormasyon na pumapasok sa database ng pagpapatakbo ay ang mga aktibidad ng korporasyon, at ang pagsusuri ng data ay nangangailangan ng paglahok ng mga panlabas na mapagkukunan ng impormasyon (halimbawa, mga ulat sa istatistika)
Ang dami ng analytical database ay hindi bababa sa isang order ng magnitude na mas malaki kaysa sa dami ng mga operational. upang magsagawa ng maaasahang pagsusuri at pagtataya sa bodega ng data kailangan mong magkaroon ng impormasyon tungkol sa mga aktibidad ng korporasyon at mga kondisyon sa merkado sa loob ng ilang taon Para sa agarang pagpoproseso, kinakailangan ang data para sa huling ilang buwan
Imbakan ng data dapat maglaman ng pantay na ipinakita at pare-parehong impormasyon na mas malapit hangga't maaari sa nilalaman ng mga database ng pagpapatakbo. Ang isang bahagi ay kinakailangan upang kunin at "linisin" ang impormasyon mula sa iba't ibang mga mapagkukunan. Sa maraming malalaking korporasyon, maraming mga operating information system na may sariling mga database ang sabay-sabay na umiiral (para sa mga makasaysayang dahilan). Ang mga operational database ay maaaring maglaman ng semantically equivalent na impormasyon na ipinakita sa iba't ibang mga format, na may iba't ibang mga indikasyon ng oras ng pagtanggap nito, kung minsan ay kasalungat pa nga.
Ang hanay ng mga query sa isang analytical database ay hindi mahuhulaan. mga bodega ng data umiiral upang tumugon sa mga ad hoc na kahilingan mula sa mga analyst. Maaari ka lamang umasa sa katotohanan na ang mga kahilingan ay hindi darating nang madalas at magsasangkot ng malaking halaga ng impormasyon. Ang laki ng analytical database ay naghihikayat sa paggamit ng mga query na may mga pinagsama-samang (sum, minimum, maximum, average na halaga atbp.) Ang mga sistema ng pagproseso ng data ay nilikha upang malutas ang mga partikular na problema. Ang impormasyon mula sa database ay madalas na pinipili at sa maliliit na bahagi. Karaniwan, ang isang hanay ng mga query sa isang database ng pagpapatakbo ay kilala na sa panahon ng disenyo
Kapag mababa ang pagkakaiba-iba ng mga database ng analytical (kapag naglo-load lang ng data), nagiging makatwiran ang pagkakasunud-sunod ng mga array, mas mabilis na paraan ng pag-index para sa mass sampling, at pag-iimbak ng paunang pinagsama-samang data. Ang mga sistema ng pagpoproseso ng data ayon sa kanilang likas na katangian ay lubos na nagbabago, na isinasaalang-alang sa ginamit na DBMS (normalized na istraktura ng database, mga hilera na nakaimbak nang wala sa ayos, B-tree para sa pag-index, transactional)
Napakahalaga ng impormasyon ng analitikal na database para sa isang korporasyon kung kaya't kinakailangan ang higit na granularity ng proteksyon (mga indibidwal na karapatan sa pag-access sa ilang mga row at/o column ng talahanayan) Para sa mga sistema ng pagproseso ng data ito ay karaniwang sapat proteksyon ng impormasyon sa antas ng talahanayan

Mga panuntunan ni Codd para sa mga OLAP system

Noong 1993, inilathala ni Codd ang OLAP para sa User Analysts: What It Should Be. Sa loob nito, binalangkas niya ang mga pangunahing konsepto ng online analytics at tinukoy ang 12 panuntunan na dapat matugunan ng mga produkto na nagbibigay ng mga kakayahan sa online analytics.

  1. Konseptwal na multidimensional na representasyon. Ang isang OLAP na modelo ay dapat na multidimensional sa core nito. Pinapadali ng multidimensional na conceptual diagram o custom na representasyon ang pagmomodelo at pagsusuri pati na rin ang mga kalkulasyon.
  2. Transparency. Nakukuha ng user ang lahat ng kinakailangang data mula sa OLAP engine, nang hindi man lang alam kung saan ito nanggaling. Hindi alintana kung ang produkto ng OLAP ay bahagi ng mga tool ng user o hindi, ang katotohanang ito ay dapat na hindi nakikita ng user. Kung ang OLAP ay ibinigay ng client-server computing, ang katotohanang ito ay dapat ding, kung maaari, ay hindi nakikita ng user. Ang OLAP ay dapat maihatid sa konteksto ng isang tunay na bukas na arkitektura, na nagpapahintulot sa user, nasaan man siya, na makipag-usap sa pamamagitan ng isang analytical tool sa server. Bilang karagdagan dito, ang transparency ay dapat ding makamit kapag ang analytical tool ay nakikipag-ugnayan sa homogenous at heterogenous na mga kapaligiran ng database.
  3. Availability. Ang OLAP ay dapat magbigay ng sarili nito logic circuit upang ma-access sa isang magkakaibang kapaligiran ng database at magsagawa ng mga naaangkop na pagbabago upang magbigay ng data sa user. Bukod dito, kinakailangan na mag-ingat nang maaga tungkol sa kung saan at paano, at kung anong mga uri ng pisikal na organisasyon ng data ang aktwal na gagamitin. Ang isang OLAP system ay dapat na mag-access lamang ng data na talagang kinakailangan, at hindi ilapat ang pangkalahatang prinsipyo ng "funnel sa kusina" na nangangailangan ng hindi kinakailangang input.
  4. pare-pareho pagganap kapag bumubuo ng mga ulat. Pagganap ang kakayahang bumuo ng mga ulat ay hindi dapat bumaba nang malaki habang tumataas ang bilang ng mga dimensyon at laki ng database.
  5. Arkitektura ng Client-server. Kinakailangan nito na ang produkto ay hindi lamang maging client-server, kundi pati na rin ang bahagi ng server ay sapat na matalino upang payagan ang iba't ibang mga kliyente na kumonekta sa isang minimum na pagsisikap at programming.
  6. Pangkalahatang multidimensionality. Ang lahat ng mga dimensyon ay dapat na pantay, ang bawat dimensyon ay dapat na katumbas sa parehong istraktura at mga kakayahan sa pagpapatakbo. Totoo na ang mga karagdagang kakayahan sa pagpapatakbo ay pinapayagan para sa mga indibidwal na dimensyon (marahil ay ipinahiwatig ang oras), ngunit ang naturang karagdagang pag-andar ay dapat ibigay sa anumang dimensyon. Hindi dapat ganoon ka-basic mga istruktura ng datos, computational o pag-uulat na mga format ay mas partikular sa isang dimensyon.
  7. Dynamic na Kontrol kalat-kalat na matrice. Dapat awtomatikong ayusin ng mga OLAP system ang kanilang pisikal na schema depende sa uri ng modelo, dami ng data, at sparsity ng database.
  8. Multi-user na suporta. Ang isang tool na OLAP ay dapat magbigay ng mga kakayahan pagbabahagi(query at pagkumpleto), integridad at seguridad.
  9. Walang limitasyong cross operations. Lahat ng uri ng operasyon ay dapat pahintulutan para sa anumang mga sukat.
  10. Intuitive na pagmamanipula ng data. Ang pagmamanipula ng data ay isinagawa sa pamamagitan ng mga direktang aksyon sa mga cell sa viewing mode nang hindi gumagamit ng mga menu at maraming operasyon.
  11. Mga pagpipilian sa pag-uulat na may kakayahang umangkop. Dapat ilagay ang mga sukat sa ulat sa paraang kailangan ito ng user.
  12. Walang limitasyon

Ang OLAP (OnLine Analytical Processing) ay ang pangalan hindi ng isang partikular na produkto, ngunit ng isang buong teknolohiya para sa operational analytical processing, na kinabibilangan ng pagsusuri ng data at pagkuha ng mga ulat. Ang user ay binibigyan ng isang multidimensional na talahanayan na awtomatikong nagbubuod ng data sa iba't ibang mga seksyon at nagbibigay-daan sa iyong mabilis na pamahalaan ang mga kalkulasyon at ang form ng ulat.

Bagama't sa ilang mga publikasyon ang analytical processing ay tinatawag na online at interactive, ang pang-uri na "online" ay pinakatumpak na sumasalamin sa kahulugan ng teknolohiya ng OLAP. Ang pagbuo ng mga solusyon sa pamamahala ng isang manager ay nabibilang sa kategorya ng mga lugar na pinaka-madaling kapitan sa automation. Gayunpaman, ngayon ay may pagkakataon na tulungan ang tagapamahala sa pagbuo ng mga solusyon at, higit sa lahat, upang makabuluhang mapabilis ang proseso ng pagbuo ng mga solusyon, ang kanilang pagpili at pag-aampon.

Ang mga sistema ng suporta sa pagpapasya ay karaniwang may paraan upang mabigyan ang gumagamit ng pinagsama-samang data para sa iba't ibang mga sample mula sa orihinal na hanay sa isang form na maginhawa para sa pang-unawa at pagsusuri. Bilang isang patakaran, ang mga naturang pinagsama-samang pag-andar ay bumubuo ng isang multidimensional na set ng data, na madalas na tinatawag na hypercube o metacube, ang mga axes na naglalaman ng mga parameter, at ang mga cell ay naglalaman ng pinagsama-samang data na nakasalalay sa kanila - at ang naturang data ay maaari ding maimbak sa mga relational na talahanayan, ngunit sa kasong ito pinag-uusapan natin ang tungkol sa isang lohikal na data ng organisasyon, at hindi tungkol sa pisikal na pagpapatupad ng kanilang imbakan.

Sa bawat axis, maaaring ayusin ang data sa isang hierarchy, na kumakatawan sa iba't ibang antas ng detalye.

Ayon sa mga sukat sa multidimensional na modelo, ang mga salik na nakakaimpluwensya sa mga aktibidad ng negosyo ay itinatabi (halimbawa: oras, mga produkto, mga sangay ng kumpanya, atbp.). Ang resultang OLAP cube ay pupunuin ng mga indicator ng aktibidad ng enterprise (mga presyo, benta, plano, kita, sobra, atbp.). Dapat tandaan na, hindi katulad ng isang geometric na kubo, ang mga mukha ng isang kubo ng OLAP ay hindi kinakailangang magkapareho ang laki. Maaari itong punan ng parehong totoong data mula sa mga operating system at data ng forecast batay sa makasaysayang data. Ang mga sukat ng hypercube ay maaaring kumplikado, hierarchical, at maaaring maitatag ang mga relasyon sa pagitan nila. Sa panahon ng proseso ng pagsusuri, maaaring baguhin ng gumagamit ang punto ng view sa data (ang tinatawag na operasyon ng pagbabago ng lohikal na view), sa gayon tinitingnan ang data mula sa iba't ibang mga pananaw at paglutas ng mga partikular na problema. Maaaring isagawa ang iba't ibang mga operasyon sa mga cube, kabilang ang pagtataya at pagpaplanong may kondisyon (what-if analysis).

Salamat sa modelong ito ng data, ang mga user ay maaaring magbalangkas ng mga kumplikadong query, bumuo ng mga ulat, at makakuha ng mga subset ng data. Ang operational analytical processing ay maaaring makabuluhang pasimplehin at mapabilis ang proseso ng paghahanda at paggawa ng desisyon ng mga tauhan ng pamamahala. Ang online analytical processing ay nagsisilbi sa layunin ng paggawa ng data sa impormasyon. Sa panimula ito ay naiiba sa tradisyonal na proseso ng suporta sa pagpapasya, na kadalasang nakabatay sa pagsusuri ng mga nakabalangkas na ulat.


Ang teknolohiya ng OLAP ay tumutukoy sa isang uri ng matalinong pagsusuri at nagsasangkot ng 12 prinsipyo:

1. Konseptwal na multidimensional na representasyon. Nakikita ng user-analyst ang mundo ng enterprise bilang multidimensional sa kalikasan, at ayon dito, ang modelo ng OLAP ay dapat multidimensional sa core nito.

2. Transparency. Ang arkitektura ng isang OLAP system ay dapat na bukas, na nagpapahintulot sa gumagamit, nasaan man siya, na makipag-usap gamit ang isang analytical tool - ang kliyente - sa server.

3. Availability. Ang OLAP analyst user ay dapat na makapagsagawa ng mga pagsusuri batay sa isang karaniwang conceptual schema na naglalaman ng enterprise-wide data sa isang relational database pati na rin ang data mula sa mga legacy na legacy na database, mga karaniwang paraan ng pag-access, at isang karaniwang analytical na modelo. Ang isang OLAP system ay dapat lamang mag-access ng data na talagang kinakailangan, sa halip na magpatibay ng isang pangkalahatang diskarte sa "kitchen funnel" na nagpapakilala ng hindi kinakailangang input.

4. Pare-parehong pagganap sa pagbuo ng ulat. Habang tumataas ang bilang ng mga dimensyon o laki ng database, hindi dapat makaranas ang user-analyst ng makabuluhang pagbaba sa performance.

5. Arkitektura ng Client-server. Karamihan sa data na ngayon ay kailangang isailalim sa online analytical processing ay nakapaloob sa mga mainframe na may access sa mga workstation ng user sa pamamagitan ng LAN. Nangangahulugan ito na ang mga produkto ng OLAP ay dapat na gumana sa isang kapaligiran ng client-server.

6. Pangkalahatang multidimensionality. Ang bawat dimensyon ay dapat ilapat nang walang pagsasaalang-alang sa istraktura at mga kakayahan sa pagpapatakbo. Ang mga pangunahing istruktura ng data, formula, at mga format ng pag-uulat ay hindi dapat maging bias sa anumang isang dimensyon.

7. Dynamic na pamamahala ng mga kalat-kalat na matrice. Ang pisikal na disenyo ng isang tool na OLAP ay dapat na ganap na iangkop sa partikular na analytical na modelo para sa pinakamainam na pamamahala ng mga kalat-kalat na matrice. Ang sparsity (sinusukat bilang porsyento ng mga walang laman na cell sa lahat ng posibleng mga cell) ay isa sa mga katangian ng pagpapalaganap ng data.

8. Multi-user na suporta. Ang isang tool na OLAP ay dapat magbigay ng kakayahang magbahagi ng query at pagkumpleto sa maraming mga analyst ng user habang pinapanatili ang integridad at seguridad.

9. Walang limitasyong cross operations. Dahil sa kanilang hierarchical na kalikasan, ang iba't ibang mga operasyon ay maaaring kumatawan sa mga umaasa na relasyon sa modelo ng OLAP, iyon ay, sila ay cross-functional. Ang kanilang pagpapatupad ay hindi dapat mangailangan ng analytical user na muling tukuyin ang mga kalkulasyon at pagpapatakbong ito.

10. Intuitive na pagmamanipula ng data. Ang pananaw ng user ng analyst sa mga dimensyon na tinukoy sa analytical na modelo ay dapat maglaman ng lahat ng kinakailangang impormasyon upang magsagawa ng mga aksyon sa modelong OLAP, i.e. hindi nila dapat kailanganin ang paggamit ng isang menu system o iba pang maramihang pagpapatakbo ng user interface.

11. Mga pagpipilian sa pag-uulat na may kakayahang umangkop. Ang mga tool sa pag-uulat ay dapat na synthesize ng data o impormasyon na nagreresulta mula sa modelo ng data sa anumang posibleng oryentasyon. Nangangahulugan ito na ang mga row, column, o page ng ulat ay dapat magpakita ng maraming dimensyon ng modelong OLAP nang sabay-sabay, na may kakayahang magpakita ng anumang subset ng mga elemento (mga halaga) na nasa dimensyon, sa anumang pagkakasunud-sunod.

12. Walang limitasyong dimensyon at bilang ng mga antas ng pagsasama-sama. Ang isang pag-aaral ng posibleng bilang ng mga kinakailangang dimensyon na kinakailangan sa isang analytical na modelo ay nagpakita na hanggang 19 na dimensyon ang maaaring gamitin nang sabay-sabay ng user-analyst. Ito ay humahantong sa isang rekomendasyon sa bilang ng mga dimensyon na sinusuportahan ng OLAP system. Bukod dito, ang bawat isa sa mga karaniwang dimensyon ay hindi dapat limitado sa bilang ng mga antas ng pagsasama-sama na tinukoy ng user-analyst.

Ang mga espesyal na sistema ng OLAP na kasalukuyang inaalok sa merkado ay kinabibilangan ng CalliGraph at Business Intelligence.

Upang malutas ang mga simpleng problema sa pagsusuri ng data, posibleng gumamit ng solusyon sa badyet - Mga application ng Office Excel at Access mula sa Microsoft, na naglalaman ng mga pangunahing tool sa teknolohiya ng OLAP na nagbibigay-daan sa iyong lumikha ng mga pivot table at bumuo ng iba't ibang ulat batay sa mga ito.

Sa serye ng mga artikulong “Introduction to Databases,” na inilathala kamakailan (tingnan ang ComputerPress No. 3'2000 - 3'2001), tinalakay namin ang iba't ibang teknolohiya at software na ginagamit sa paglikha ng mga sistema ng impormasyon - desktop at server DBMS, mga tool sa disenyo ng data , pagbuo ng application mga tool, pati na rin ang Business Intelligence - enterprise-scale data analysis at processing tools, na kasalukuyang nagiging popular sa mundo, kasama na sa ating bansa. Napansin namin, gayunpaman, na ang mga isyu sa paggamit ng mga tool sa Business Intelligence at ang mga teknolohiyang ginamit upang lumikha ng mga aplikasyon ng klase na ito ay hindi pa sapat na saklaw sa lokal na literatura. Sa isang bagong serye ng mga artikulo, susubukan naming punan ang puwang na ito at pag-usapan kung ano ang mga teknolohiyang pinagbabatayan ng mga naturang aplikasyon. Bilang mga halimbawa ng pagpapatupad, pangunahing gagamitin namin ang mga teknolohiya ng Microsoft OLAP (pangunahin ang Mga Serbisyo sa Pagsusuri sa Microsoft SQL Server 2000), ngunit inaasahan namin na ang karamihan ng materyal ay magiging kapaki-pakinabang sa mga gumagamit ng iba pang mga tool.

Ang unang artikulo sa seryeng ito ay nakatuon sa mga pangunahing kaalaman ng OLAP (On-Line Analytical Processing) - isang teknolohiya para sa multidimensional na pagsusuri ng data. Dito, titingnan natin ang mga konsepto ng data warehousing at OLAP, ang mga kinakailangan para sa data warehousing at mga tool ng OLAP, ang lohikal na organisasyon ng OLAP data, at ang mga pangunahing termino at konsepto na ginagamit kapag tinatalakay ang multidimensional na pagsusuri.

Ano ang data warehouse

Ang enterprise-scale information system, bilang panuntunan, ay naglalaman ng mga application na idinisenyo para sa kumplikadong multidimensional na pagsusuri ng data, ang dynamics nito, mga uso, atbp. Ang nasabing pagsusuri ay sa huli ay inilaan upang suportahan ang paggawa ng desisyon.

Ang mga sistemang ito ay madalas na tinatawag na mga sistema ng suporta sa desisyon.

Imposibleng gumawa ng anumang desisyon sa pamamahala nang walang kinakailangang impormasyon, kadalasang dami. Nangangailangan ito ng paglikha ng mga warehouse ng data, iyon ay, ang proseso ng pagkolekta, pagsasala at paunang pagproseso ng data upang maibigay ang nagresultang impormasyon sa mga user para sa pagsusuri sa istatistika (at kadalasan ay ang paglikha ng mga analytical na ulat).

  • Si Ralph Kimball, isa sa mga nagpasimula ng konsepto ng data warehouse, ay inilarawan ang isang data warehouse bilang “isang lugar kung saan maa-access ng mga tao ang kanilang data” (tingnan, halimbawa, Ralph Kimball, “The Data Warehouse Toolkit: Practical Techniques for Building Dimensions Data Warehouses ", John Wiley & Sons, 1996 at "The Data Webhouse Toolkit: Building the Web-Enabled Data Warehouse", John Wiley & Sons, 2000). Binabalangkas din niya ang mga pangunahing kinakailangan para sa mga warehouse ng data:
  • suporta para sa mataas na bilis ng pagkuha ng data mula sa imbakan;
  • pagpapanatili ng panloob na pagkakapare-pareho ng data;
  • ang kakayahang makakuha at paghambingin ang tinatawag na data slices (slice and dice);
  • pagkakaroon ng maginhawang mga kagamitan para sa pagtingin ng data sa imbakan;
  • pagkakumpleto at pagiging maaasahan ng nakaimbak na data;

suporta para sa isang de-kalidad na proseso ng muling pagdadagdag ng data.

Kadalasan ay hindi posible na matugunan ang lahat ng mga kinakailangan sa itaas sa loob ng parehong produkto. Samakatuwid, upang ipatupad ang mga warehouse ng data, maraming mga produkto ang karaniwang ginagamit, ang ilan sa mga ito ay aktwal na mga tool sa pag-iimbak ng data, ang iba ay mga tool para sa pagkuha at pagtingin sa mga ito, ang iba ay mga tool para sa muling pagdaragdag ng mga ito, atbp.

Pangalawa, ang mga tradisyunal na database ay napapailalim sa patuloy na pagbabago habang nagtatrabaho ang mga user, ngunit ang isang data warehouse ay medyo stable: ang data sa loob nito ay karaniwang ina-update ayon sa isang iskedyul (halimbawa, lingguhan, araw-araw, o oras-oras, depende sa mga pangangailangan). Sa isip, ang proseso ng pagpapayaman ay simpleng pagdaragdag ng bagong data sa loob ng isang yugto ng panahon nang hindi binabago ang nakaraang impormasyon na nasa repositoryo na.

At pangatlo, ang mga regular na database ay kadalasang pinagmumulan ng data na napupunta sa bodega. Bilang karagdagan, ang repository ay maaaring mapunan mula sa mga panlabas na mapagkukunan, tulad ng mga istatistikal na ulat.

Ano ang OLAP

Ang mga sistema ng suporta sa pagpapasya ay karaniwang may paraan upang mabigyan ang gumagamit ng pinagsama-samang data para sa iba't ibang mga sample mula sa orihinal na hanay sa isang form na maginhawa para sa pang-unawa at pagsusuri. Karaniwan, ang mga naturang pinagsama-samang function ay bumubuo ng isang multidimensional (at samakatuwid ay hindi nauugnay) na set ng data (kadalasang tinatawag na hypercube o metacube), ang mga axes na naglalaman ng mga parameter, at ang mga cell ay naglalaman ng pinagsama-samang data na nakasalalay sa kanila. Sa bawat axis, maaaring ayusin ang data sa isang hierarchy, na kumakatawan sa iba't ibang antas ng detalye. Salamat sa modelong ito ng data, ang mga user ay maaaring magbalangkas ng mga kumplikadong query, bumuo ng mga ulat, at makakuha ng mga subset ng data.

Ang teknolohiya para sa kumplikadong multidimensional na pagsusuri ng data ay tinatawag na OLAP (On-Line Analytical Processing). Ang OLAP ay isang mahalagang bahagi ng data warehousing.

  • Ang konsepto ng OLAP ay inilarawan noong 1993 ni Edgar Codd, isang kilalang database researcher at may-akda ng relational data model (tingnan ang E.F. Codd, S.B. Codd, at C.T. Salley, Providing OLAP (on-line analytical processing) sa mga user-analyst: Isang Ulat sa IT, 1993). Noong 1995, batay sa mga kinakailangan na itinakda ng Codd, ang tinatawag na FASMI test (Fast Analysis of Shared Multidimensional Information) ay binuo, na kinabibilangan ng mga sumusunod na kinakailangan para sa mga aplikasyon para sa multidimensional analysis:
  • pagbibigay sa user ng mga resulta ng pagsusuri sa isang katanggap-tanggap na oras (karaniwan ay hindi hihigit sa 5 s), kahit na sa halaga ng isang hindi gaanong detalyadong pagsusuri;
  • ang kakayahang magsagawa ng anumang lohikal at istatistikal na pagsusuri na tiyak sa isang naibigay na aplikasyon at i-save ito sa isang form na naa-access ng end user;
  • multidimensional na konseptong representasyon ng data, kabilang ang buong suporta para sa mga hierarchy at maramihang hierarchies (ito ay isang pangunahing kinakailangan ng OLAP);
  • ang kakayahang ma-access ang anumang kinakailangang impormasyon, anuman ang dami nito at lokasyon ng imbakan.

Dapat tandaan na ang functionality ng OLAP ay maaaring ipatupad sa iba't ibang paraan, mula sa pinakasimpleng mga tool sa pagsusuri ng data sa mga application ng opisina hanggang sa mga distributed analytical system batay sa mga produkto ng server. Ngunit bago natin pag-usapan ang iba't ibang pagpapatupad ng functionality na ito, tingnan natin kung ano ang mga OLAP cube mula sa lohikal na pananaw.

Multidimensional na mga cube

Sa seksyong ito, titingnan natin ang konsepto ng OLAP at multidimensional na mga cube.

Bilang halimbawa ng relational database na gagamitin namin para ilarawan ang mga prinsipyo ng OLAP, gagamitin namin ang Northwind database, na kasama sa Microsoft SQL Server o Microsoft Access at isang tipikal na database na nag-iimbak ng impormasyon sa pangangalakal para sa isang pakyawan na kumpanya ng pamamahagi ng pagkain. Kasama sa naturang data ang impormasyon tungkol sa mga supplier, kliyente, kumpanya ng paghahatid, isang listahan ng mga ibinibigay na produkto at kanilang mga kategorya, data tungkol sa mga order at inorder na produkto, isang listahan ng mga empleyado ng kumpanya. Ang isang detalyadong paglalarawan ng database ng Northwind ay matatagpuan sa Microsoft SQL Server o mga sistema ng tulong ng Microsoft Access - hindi namin ito ipinakita dito dahil sa kakulangan ng espasyo.

Upang galugarin ang konsepto ng OLAP, gamitin natin ang view ng Mga Invoice at ang mga talahanayan ng Mga Produkto at Kategorya mula sa database ng Northwind upang lumikha ng query na magreresulta sa detalyadong impormasyon tungkol sa lahat ng inorder na produkto at mga invoice na ibinigay:

PUMILI ng dbo.Invoices.Country, dbo.Invoices.City, dbo.Invoices.CustomerName, dbo.Invoices.Salesperson, dbo.Invoices.OrderDate, dbo.Categories.CategoryName, dbo.Invoices.ProductName, dbo.Invoices.ProductName, dbo.Invoices. .Invoices.ExtendedPrice MULA sa dbo.Products INNER JOIN dbo.Category ON dbo.Products.CategoryID = dbo.Categories.CategoryID INNER JOIN dbo.Invoice ON dbo.Products.ProductID = dbo.Invoices.ProductID

PUMILI ng Invoices.Country, Invoices.City, Invoices.Customers.CompanyName AS CustomerName, Invoices.Salesperson, Invoices.OrderDate, Categories.CategoryName, Invoices.ProductName, Invoices.Shippers.CompanyName.Invoices.CompanyName mga boses INNER JOIN Products ON Invoices.ProductID = Products.ProductID) ON Categories.CategoryID = Products.CategoryID;

Ina-access ng query na ito ang view ng Mga Invoice, na naglalaman ng impormasyon tungkol sa lahat ng mga invoice na ibinigay, pati na rin ang mga talahanayan ng Mga Kategorya at Produkto, na naglalaman ng impormasyon tungkol sa mga kategorya ng mga produktong inorder at ang mga produkto mismo, ayon sa pagkakabanggit.

Ang resulta ng kahilingang ito ay isang set ng data ng order na kinabibilangan ng kategorya at pangalan ng item na inorder, ang petsa kung kailan inilagay ang order, ang pangalan ng taong nag-invoice, ang lungsod, bansa at pangalan ng kumpanya ng kumpanyang nag-order, pati na rin bilang pangalan ng kumpanya ng pagpapadala.

Para sa kaginhawahan, i-save natin ang kahilingang ito bilang isang view, na tinatawag itong Mga Invoice1.

  • Ang resulta ng pag-access sa representasyong ito ay ipinapakita sa Fig. 1.
  • Anong pinagsama-samang data ang makukuha natin mula sa view na ito? Kadalasan ito ay mga sagot sa mga tanong tulad ng:
  • Ano ang kabuuang halaga ng mga order na inilagay ng mga customer mula sa France?

Ano ang kabuuang halaga ng mga order na inilagay ng mga customer sa France at inihatid ng Speedy Express?

Ano ang kabuuang halaga ng mga order na inilagay ng mga customer sa France noong 1997 at inihatid ng Speedy Express?

Isalin natin ang mga tanong na ito sa mga query sa SQL (Talahanayan 1). Ang resulta ng alinman sa mga query sa itaas ay isang numero. Kung sa unang query ay papalitan mo ang parameter na 'France' ng 'Austria' o ang pangalan ng ibang bansa, maaari mong patakbuhin muli ang query na ito at makakuha ng ibang numero. Sa pamamagitan ng pagsasagawa ng pamamaraang ito sa lahat ng bansa, nakukuha namin ang sumusunod na set ng data (isang fragment ang ipinapakita sa ibaba):
Bansa 7327.3
SUM (ExtendedPrice) 110788.4
Argentina 28491.65
Austria 97407.74
Belgium 46190.1
Brazil 28392.32
Canada 15296.35
Denmark 69185.48
Finland 209373.6

France

Alemanya

Ngayon tingnan natin ang pangalawang query sa itaas, na naglalaman ng dalawang kundisyon sa sugnay na WHERE. Kung patakbuhin namin ang query na ito, na isinasaksak ang lahat ng posibleng halaga para sa mga parameter ng Bansa at ShipperName, makakakuha kami ng dalawang-dimensional na set ng data na ganito ang hitsura (isang snippet ang ipinapakita sa ibaba):

Pangalan ng Shipper
Isalin natin ang mga tanong na ito sa mga query sa SQL (Talahanayan 1). Pederal na Pagpapadala Mabilis na Express United Package
Bansa 1 210.30 1 816.20 5 092.60
SUM (ExtendedPrice) 40 870.77 41 004.13 46 128.93
Argentina 11 393.30 4 717.56 17 713.99
Austria 16 514.56 35 398.14 55 013.08
Belgium 19 598.78 5 440.42 25 157.08
Brazil 18 295.30 6 573.97 7 791.74
Canada 4 889.84 5 966.21 7 954.00
Denmark 28 737.23 21 140.18 31 480.90
Finland 53 474.88 94 847.12 81 962.58

Ang nasabing set ng data ay tinatawag na pivot table o cross table. Maraming mga spreadsheet at desktop DBMS ang nagpapahintulot sa iyo na lumikha ng mga naturang talahanayan - mula sa Paradox para sa DOS hanggang sa Microsoft Excel 2000. Halimbawa, ito ang hitsura ng isang katulad na query sa Microsoft Access 2000:

TRANSFORM Sum(Invoice1.ExtendedPrice) BILANG SumOfExtendedPrice SELECT Invoice1.Bansa MULA SA Mga Invoice1 GROUP BY Invoice1.Country PIVOT Invoice1.ShipperName;

Ang pinagsama-samang data para sa naturang pivot table ay maaari ding makuha gamit ang isang regular na GROUP BY query:

SELECT Country,ShipperName, SUM (ExtendedPrice) FROM invoice1 GROUP BY COUNTRY,ShipperName Tandaan, gayunpaman, na ang resulta ng query na ito ay hindi ang pivot table mismo, ngunit isang set lamang ng pinagsama-samang data para sa pagbuo nito (isang fragment ang ipinapakita sa ibaba ):

Isalin natin ang mga tanong na ito sa mga query sa SQL (Talahanayan 1). Pangalan ng Shipper Ang resulta ng alinman sa mga query sa itaas ay isang numero. Kung sa unang query ay papalitan mo ang parameter na 'France' ng 'Austria' o ang pangalan ng ibang bansa, maaari mong patakbuhin muli ang query na ito at makakuha ng ibang numero. Sa pamamagitan ng pagsasagawa ng pamamaraang ito sa lahat ng bansa, nakukuha namin ang sumusunod na set ng data (isang fragment ang ipinapakita sa ibaba):
Bansa Pederal na Pagpapadala 845.5
SUM (ExtendedPrice) Pederal na Pagpapadala 35696.78
Argentina Pederal na Pagpapadala 8747.3
Austria Pederal na Pagpapadala 13998.26

Ang pangatlo sa mga query na tinalakay sa itaas ay mayroon nang tatlong parameter sa kondisyong WHERE.

Sa pamamagitan ng pag-iiba-iba ng mga ito, nakakakuha kami ng three-dimensional na set ng data (Fig. 2).

Mga cell ng cube na ipinapakita sa Fig. 2 ay naglalaman ng pinagsama-samang data na naaayon sa mga halaga ng mga parameter ng query sa sugnay na WHERE na matatagpuan sa mga cube axes.

Makakakuha ka ng isang set ng mga two-dimensional na talahanayan sa pamamagitan ng pagputol ng isang kubo na may mga eroplanong kahanay ng mga mukha nito (ang mga terminong cross-section at hiwa ay ginagamit upang tukuyin ang mga ito).

Malinaw, ang data na nilalaman sa mga cube cell ay maaari ding makuha gamit ang naaangkop na query na may GROUP BY clause. Bilang karagdagan, ang ilang mga spreadsheet (lalo na ang Microsoft Excel 2000) ay nagpapahintulot din sa iyo na mag-plot ng isang three-dimensional na set ng data at tingnan ang iba't ibang mga cross-section ng cube na kahanay sa mukha nito tulad ng ipinapakita sa workbook sheet.

Kung ang sugnay na WHERE ay naglalaman ng apat o higit pang mga parameter, ang resultang hanay ng mga halaga (tinatawag ding OLAP cube) ay maaaring 4-dimensional, 5-dimensional, atbp.

Nang tingnan kung ano ang mga multidimensional na OLAP cube, lumipat tayo sa ilang mahahalagang termino at konsepto na ginagamit sa pagsusuri ng multidimensional na data.

Kasama ng mga kabuuan, ang mga cell ng isang OLAP cube ay maaaring maglaman ng mga resulta ng pagsasagawa ng iba pang pinagsama-samang mga function ng wikang SQL, tulad ng MIN, MAX, AVG, COUNT, at sa ilang mga kaso, iba pa (variance, standard deviation, atbp.). Upang ilarawan ang mga halaga ng data sa mga cell, ang terminong buod ay ginagamit (sa pangkalahatan, maaaring mayroong ilan sa mga ito sa isang kubo), ang terminong sukat ay ginagamit upang tukuyin ang pinagmulan ng data batay sa kung saan sila ay kinakalkula, at ang terminong dimensyon ay ginagamit upang tukuyin ang mga parameter ng query (isinalin sa Russian na karaniwang tinutukoy bilang "dimensyon" kapag pinag-uusapan ang tungkol sa mga OLAP cube, at bilang "dimensyon" kapag pinag-uusapan ang mga warehouse ng data). Ang mga halagang naka-plot sa mga palakol ay tinatawag na mga miyembro ng dimensyon.

Kapag pinag-uusapan ang mga sukat, ito ay nagkakahalaga ng pagbanggit na ang mga halaga na naka-plot sa mga palakol ay maaaring magkaroon ng iba't ibang antas ng detalye. Halimbawa, maaaring interesado tayo sa kabuuang halaga ng mga order na ginawa ng mga customer sa iba't ibang bansa, o sa kabuuang halaga ng mga order na ginawa ng mga customer sa labas ng bayan o kahit na mga indibidwal na customer. Naturally, ang magreresultang set ng pinagsama-samang data sa pangalawa at pangatlong kaso ay magiging mas detalyado kaysa sa una. Tandaan na ang kakayahang makakuha ng pinagsama-samang data na may iba't ibang antas ng detalye ay nakakatugon sa isa sa mga kinakailangan para sa mga warehouse ng data - ang kinakailangan para sa pagkakaroon ng iba't ibang mga hiwa ng data para sa paghahambing at pagsusuri.

Dahil sa halimbawang isinasaalang-alang, sa pangkalahatan, ang bawat bansa ay maaaring magkaroon ng ilang mga lungsod, at ang isang lungsod ay maaaring magkaroon ng ilang mga kliyente, maaari nating pag-usapan ang mga hierarchy ng mga halaga sa mga sukat. Sa kasong ito, ang mga bansa ay matatagpuan sa unang antas ng hierarchy, ang mga lungsod ay nasa pangalawa, at ang mga kliyente ay nasa pangatlo (Larawan 3).

Tandaan na ang mga hierarchy ay maaaring balanse, tulad ng hierarchy na ipinapakita sa Fig. 3, pati na rin ang mga hierarchy batay sa petsa-oras at hindi balanseng data. Ang isang tipikal na halimbawa ng isang hindi balanseng hierarchy ay isang "superior-subordinate" na hierarchy (maaari itong buuin, halimbawa, gamit ang mga halaga ng field ng Salesperson ng orihinal na set ng data mula sa halimbawang tinalakay sa itaas), na ipinapakita sa Fig. 4.

Minsan ang terminong Parent-child hierarchy ay ginagamit para sa mga naturang hierarchy.

Mayroon ding mga hierarchy na sumasakop sa isang intermediate na posisyon sa pagitan ng balanse at hindi balanse (sila ay itinalaga ng terminong gulanit). Karaniwang naglalaman ang mga ito ng mga miyembro na ang lohikal na "mga magulang" ay wala sa agad na mataas na antas (halimbawa, ang isang heograpikong hierarchy ay may mga antas ng Bansa, Lungsod, at Estado, ngunit may mga bansa sa dataset na walang mga estado o rehiyon sa pagitan ng Bansa at Mga antas ng lungsod ;

Tandaan na ang hindi balanse at "hindi pantay" na mga hierarchy ay hindi sinusuportahan ng lahat ng OLAP tool. Halimbawa, sinusuportahan ng Microsoft Analysis Services 2000 ang parehong uri ng hierarchy, ngunit ang Microsoft OLAP Services 7.0 ay sumusuporta lamang sa mga balanse.

Ang bilang ng mga antas ng hierarchy, ang maximum na pinapayagang bilang ng mga miyembro ng isang antas, at ang maximum na posibleng bilang ng mga dimensyon mismo ay maaaring mag-iba sa iba't ibang mga tool sa OLAP.

Konklusyon

  • Sa artikulong ito natutunan namin ang mga pangunahing kaalaman ng OLAP. Natutunan namin ang mga sumusunod:
  • Ang layunin ng mga warehouse ng data ay magbigay sa mga user ng impormasyon para sa pagsusuri sa istatistika at paggawa ng desisyon sa pamamahala.
  • Dapat tiyakin ng mga warehouse ng data ang mataas na bilis ng pagkuha ng data, ang kakayahang makakuha at maghambing ng tinatawag na mga hiwa ng data, pati na rin ang pagkakapare-pareho, pagkakumpleto at pagiging maaasahan ng data.
  • Ang OLAP (On-Line Analytical Processing) ay isang mahalagang bahagi ng pagbuo at paggamit ng mga warehouse ng data. Ang teknolohiyang ito ay batay sa pagbuo ng mga multidimensional na set ng data - OLAP cube, ang mga axes nito ay naglalaman ng mga parameter, at ang mga cell ay naglalaman ng pinagsama-samang data na nakasalalay sa kanila.

Ang mga application na may functionality ng OLAP ay dapat magbigay sa user ng mga resulta ng pagsusuri sa isang katanggap-tanggap na oras, magsagawa ng lohikal at istatistikal na pagsusuri, suportahan ang multi-user na access sa data, magbigay ng multi-dimensional na konseptong representasyon ng data, at ma-access ang anumang kinakailangang impormasyon.

Bilang karagdagan, sinuri namin ang mga pangunahing prinsipyo ng lohikal na organisasyon ng mga OLAP cube, at natutunan din ang mga pangunahing termino at konsepto na ginagamit sa multidimensional na pagsusuri.

Sa wakas, nalaman namin kung ano ang iba't ibang uri ng hierarchies sa mga dimensyon ng OLAP cube.

Ang mga kondisyon ng mataas na kumpetisyon at lumalaking dinamika ng panlabas na kapaligiran ay nagdidikta ng mas mataas na mga pangangailangan sa mga sistema ng pamamahala ng negosyo. Ang pag-unlad ng teorya at kasanayan sa pamamahala ay sinamahan ng paglitaw ng mga bagong pamamaraan, teknolohiya at modelo na naglalayong pataasin ang kahusayan sa pagpapatakbo. Ang mga pamamaraan at modelo, sa turn, ay nag-ambag sa paglitaw ng mga analytical system. Ang pangangailangan para sa analytical system sa Russia ay mataas. Mula sa punto ng view ng aplikasyon, ang mga sistemang ito ay pinaka-interesante sa sektor ng pananalapi: mga bangko, negosyo ng seguro, mga kumpanya ng pamumuhunan. Ang mga resulta ng gawain ng mga sistema ng analytical ay kinakailangan, una sa lahat, para sa mga tao na ang mga desisyon ay tumutukoy sa pag-unlad ng kumpanya: mga tagapamahala, mga eksperto, mga analyst. Binibigyang-daan ka ng mga analytical system na lutasin ang mga problema sa pagsasama-sama, pag-uulat, pag-optimize at pagtataya. Sa ngayon, walang panghuling pag-uuri ng mga sistemang analitikal, tulad ng walang pangkalahatang sistema ng mga kahulugan sa mga terminong ginamit sa lugar na ito. Ang istraktura ng impormasyon ng isang negosyo ay maaaring kinakatawan ng isang pagkakasunud-sunod ng mga antas, na ang bawat isa ay nailalarawan sa sarili nitong paraan ng pagproseso at pamamahala ng impormasyon, at may sariling function sa proseso ng pamamahala. Kaya, ang mga analytical system ay matatagpuan sa hierarchically sa iba't ibang antas ng imprastraktura na ito.

Antas ng mga sistema ng transaksyon

Layer ng Data Warehouse

Data mart layer

Antas ng mga OLAP system

Analytical application layer

Mga OLAP system - (OnLine Analytical Processing, analytical processing sa kasalukuyang panahon) - ay isang teknolohiya para sa kumplikadong multidimensional na pagsusuri ng data. Naaangkop ang mga OLAP system kung saan may gawain sa pagsusuri ng multifactor data. Ang mga ito ay isang epektibong paraan ng pagsusuri at pagbuo ng ulat. Ang mga data warehouse, data mart at OLAP system na tinalakay sa itaas ay nabibilang sa mga business intelligence (BI) system.

Kadalasan, ang impormasyon at analytical system na nilikha na may inaasahang direktang paggamit ng mga gumagawa ng desisyon ay nagiging napakadaling gamitin, ngunit lubhang limitado sa pag-andar. Ang ganitong mga static na sistema ay tinatawag sa literatura na Executive Information Systems (IIS), o Executive Information Systems (EIS). Naglalaman ang mga ito ng mga paunang natukoy na hanay ng mga query at, bagama't sapat para sa pang-araw-araw na pagsusuri, ay hindi masasagot ang lahat ng tanong tungkol sa available na data na maaaring lumabas kapag gumagawa ng mga desisyon. Ang resulta ng naturang sistema, bilang panuntunan, ay mga ulat sa maraming pahina, pagkatapos ng maingat na pag-aaral kung saan ang analyst ay may bagong serye ng mga tanong. Gayunpaman, ang bawat bagong kahilingan na hindi na-foreseen kapag nagdidisenyo ng naturang sistema ay dapat munang pormal na inilarawan, i-code ng programmer, at pagkatapos ay isakatuparan. Ang oras ng paghihintay sa kasong ito ay maaaring mga oras at araw, na hindi palaging katanggap-tanggap. Kaya, ang panlabas na pagiging simple ng static na DSS, kung saan ang karamihan sa mga customer ng impormasyon at analytical system ay aktibong nakikipaglaban, ay nagiging isang sakuna na pagkawala ng flexibility.



Ang Dynamic na DSS, sa kabaligtaran, ay nakatuon sa pagpoproseso ng mga hindi regulated (ad hoc) na kahilingan ng analyst para sa data. Ang mga kinakailangan para sa gayong mga sistema ay itinuturing na pinakamalalim ni E. F. Codd sa artikulong naglatag ng pundasyon para sa konsepto ng OLAP. Ang gawain ng mga analyst sa mga system na ito ay binubuo ng isang interactive na pagkakasunud-sunod ng pagbuo ng mga query at pag-aaral ng kanilang mga resulta.

Ngunit ang dynamic na DSS ay maaaring gumana hindi lamang sa larangan ng online analytical processing (OLAP); suporta para sa paggawa ng mga desisyon sa pamamahala batay sa naipon na data ay maaaring isagawa sa tatlong pangunahing mga lugar.

Saklaw ng detalyadong data. Ito ang saklaw ng karamihan sa mga sistema ng pagkuha ng impormasyon. Sa karamihan ng mga kaso, ang mga relational na DBMS ay nakayanan nang maayos ang mga gawaing lumabas dito. Ang karaniwang tinatanggap na pamantayan para sa wika para sa pagmamanipula ng relational data ay SQL. Ang mga information retrieval system na nagbibigay ng end-user interface sa mga gawain ng paghahanap ng detalyadong impormasyon ay maaaring gamitin bilang mga add-on kapwa sa mga indibidwal na database ng mga transactional system at sa isang pangkalahatang data warehouse.

Saklaw ng pinagsama-samang mga tagapagpahiwatig. Ang isang komprehensibong pagtingin sa impormasyong nakolekta sa isang data warehouse, ang generalization at aggregation nito, hypercube representation at multidimensional analysis ay ang mga gawain ng online analytical processing (OLAP) system. Dito maaari kang tumuon sa mga espesyal na multidimensional na DBMS, o manatili sa loob ng balangkas ng mga teknolohiyang may kaugnayan. Sa pangalawang kaso, ang paunang pinagsama-samang data ay maaaring kolektahin sa isang database na hugis bituin, o ang pagsasama-sama ng impormasyon ay maaaring gawin sa mabilisang pag-scan ng mga detalyadong talahanayan sa isang relational database.

Ang globo ng mga pattern. Ang pagproseso ng intelektwal ay isinasagawa sa pamamagitan ng mga pamamaraan ng matalinong pagsusuri ng data (IDA, Data Mining), ang mga pangunahing gawain kung saan ay ang paghahanap ng mga functional at lohikal na pattern sa naipon na impormasyon, bumuo ng mga modelo at panuntunan na nagpapaliwanag sa mga natuklasang anomalya at/o hulaan ang pag-unlad ng ilang mga proseso.

Pagproseso ng data ng analitikal na operasyon

Ang konsepto ng OLAP ay batay sa prinsipyo ng multidimensional na representasyon ng data. Sa isang artikulo noong 1993, tinalakay ni E. F. Codd ang mga pagkukulang ng relational na modelo, pangunahin na itinuturo ang kawalan ng kakayahan na "pagsamahin, tingnan at pag-aralan ang data sa mga tuntunin ng maraming dimensyon, iyon ay, sa pinaka-naiintindihan na paraan para sa mga analyst ng negosyo," at tinukoy ang pangkalahatang mga kinakailangan para sa mga OLAP system na nagpapalawak ng functionality ng relational DBMS at kabilang ang multidimensional analysis bilang isa sa mga katangian nito.

Pag-uuri ng mga produkto ng OLAP ayon sa paraan ng presentasyon ng data.

Sa kasalukuyan, mayroong isang malaking bilang ng mga produkto sa merkado na nagbibigay ng functionality ng OLAP sa isang antas o iba pa. Humigit-kumulang 30 sa mga pinakasikat ay nakalista sa Web server ng pagsusuri http://www.olapreport.com/. Nagbibigay ng multidimensional na haka-haka na view mula sa user interface hanggang sa source database, ang lahat ng produkto ng OLAP ay nahahati sa tatlong klase batay sa uri ng source database.

Ang pinakaunang online analytical processing system (halimbawa, Essbase mula sa Arbor Software, Oracle Express Server mula sa Oracle) ay kabilang sa klase ng MOLAP, ibig sabihin, maaari lang silang gumana sa sarili nilang mga multidimensional na database. Nakabatay ang mga ito sa mga teknolohiyang pagmamay-ari para sa mga multidimensional na DBMS at ang pinakamahal. Nagbibigay ang mga system na ito ng buong cycle ng pagpoproseso ng OLAP. Maaaring kasama nila, bilang karagdagan sa bahagi ng server, ang sarili nilang pinagsama-samang interface ng kliyente, o gumamit ng mga panlabas na programa ng spreadsheet upang makipag-ugnayan sa user. Upang mapanatili ang mga naturang system, isang espesyal na kawani ng mga empleyado ang kinakailangan na mag-install, magpanatili ng system, at lumikha ng mga view ng data para sa mga end user.

Ang mga sistema ng Relational Online Analytical Processing (ROLAP) ay nagbibigay-daan sa data na nakaimbak sa isang relational database na maipakita sa multidimensional na anyo, na nagpapagana sa pagbabago ng impormasyon sa isang multidimensional na modelo sa pamamagitan ng isang intermediate na metadata layer. Ang mga sistema ng ROLAP ay angkop na angkop para sa pagtatrabaho sa malalaking pasilidad ng imbakan. Tulad ng mga sistema ng MOLAP, nangangailangan sila ng makabuluhang pagpapanatili ng mga espesyalista sa teknolohiya ng impormasyon at may kinalaman sa operasyon ng maraming gumagamit.

Sa wakas, ang mga hybrid na sistema (Hybrid OLAP, HOLAP) ay idinisenyo upang pagsamahin ang mga pakinabang at mabawasan ang mga kawalan na likas sa mga nakaraang klase. Ang Speedware's Media/MR ay nabibilang sa klase na ito. Ayon sa mga developer, pinagsasama nito ang analytical flexibility at bilis ng pagtugon ng MOLAP sa patuloy na pag-access sa totoong data na likas sa ROLAP.

Multidimensional OLAP (MOLAP)

Sa mga espesyal na DBMS batay sa isang multidimensional na representasyon ng data, ang data ay inayos hindi sa anyo ng mga relational na talahanayan, ngunit sa anyo ng mga nakaayos na multidimensional na array:

1) hypercubes (lahat ng mga cell na nakaimbak sa database ay dapat magkaroon ng parehong dimensyon, iyon ay, nasa pinaka kumpletong batayan ng pagsukat) o

2) polycubes (bawat variable ay naka-imbak na may sarili nitong hanay ng mga sukat, at lahat ng nauugnay na mga paghihirap sa pagproseso ay inililipat sa mga panloob na mekanismo ng system).

Ang paggamit ng mga multidimensional na database sa mga online analytical processing system ay may mga sumusunod na pakinabang.

Kapag gumagamit ng isang multidimensional na DBMS, ang paghahanap at pagkuha ng data ay mas mabilis kaysa sa isang multidimensional na konseptwal na view ng isang relational database, dahil ang multidimensional na database ay denormalized, naglalaman ng mga paunang pinagsama-samang mga hakbang, at nagbibigay ng na-optimize na access sa hiniling na mga cell.

Ang mga multidimensional na DBMS ay madaling makayanan ang mga gawain ng pagsasama ng iba't ibang mga built-in na function sa modelo ng impormasyon, habang ang obhetibong umiiral na mga limitasyon ng wikang SQL ay ginagawang medyo mahirap at minsan imposible ang pagsasagawa ng mga gawaing ito batay sa mga relational na DBMS.

Sa kabilang banda, may mga makabuluhang limitasyon.

Hindi pinapayagan ng mga multidimensional na DBMS ang pagtatrabaho sa malalaking database. Bilang karagdagan, dahil sa denormalization at pre-executed aggregation, ang dami ng data sa isang multidimensional na database, bilang panuntunan, ay tumutugma (ayon sa pagtatantya ni Codd) sa 2.5-100 beses na mas mababa kaysa sa dami ng orihinal na detalyadong data.

Kung ikukumpara sa mga relational na DBMS, ang mga multidimensional na DBMS ay gumagamit ng panlabas na memorya nang napaka-inefficient. Sa karamihan ng mga kaso, ang hypercube ng impormasyon ay kalat-kalat, at dahil ang data ay naka-imbak sa isang ordered form, ang mga hindi natukoy na halaga ay maaari lamang alisin sa pamamagitan ng pagpili ng pinakamainam na pagkakasunud-sunod, na nagbibigay-daan sa iyo upang ayusin ang data sa pinakamalaking. posibleng magkadikit na grupo. Ngunit kahit na sa kasong ito, ang problema ay bahagyang nalutas lamang. Bilang karagdagan, ang pinakamainam na pagkakasunud-sunod ng pag-uuri para sa pag-iimbak ng kalat-kalat na data ay malamang na hindi ang pagkakasunud-sunod na kadalasang ginagamit sa mga query. Samakatuwid, sa mga tunay na sistema kinakailangan na humingi ng kompromiso sa pagitan ng pagganap at kalabisan ng puwang sa disk na inookupahan ng database.

Dahil dito, ang paggamit ng multidimensional na DBMS ay makatwiran lamang sa ilalim ng mga sumusunod na kundisyon.

Ang dami ng pinagmumulan ng data para sa pagsusuri ay hindi masyadong malaki (hindi hihigit sa ilang gigabytes), iyon ay, ang antas ng pagsasama-sama ng data ay medyo mataas.

Ang hanay ng mga sukat ng impormasyon ay matatag (dahil ang anumang pagbabago sa kanilang istraktura ay halos palaging nangangailangan ng kumpletong muling pagsasaayos ng hypercube).

Ang oras ng pagtugon ng system sa mga hindi kinokontrol na kahilingan ay ang pinakamahalagang parameter.

Nangangailangan ng malawak na paggamit ng mga kumplikadong built-in na function upang magsagawa ng mga cross-dimensional na kalkulasyon sa mga hypercube cell, kabilang ang kakayahang magsulat ng mga custom na function.

Relational OLAP (ROLAP)

Ang direktang paggamit ng mga relational database sa online analytical processing system ay may mga sumusunod na pakinabang.

Sa karamihan ng mga kaso, ipinapatupad ang mga bodega ng data ng kumpanya gamit ang mga tool sa relational na DBMS, at ang mga tool ng ROLAP ay nagbibigay-daan sa direktang pagsusuri sa mga ito. Kasabay nito, ang laki ng imbakan ay hindi isang kritikal na parameter tulad ng sa kaso ng MOLAP.

Sa kaso ng isang problema sa variable na dimensyon, kapag ang mga pagbabago sa istraktura ng mga sukat ay kailangang gawin nang madalas, ang mga sistema ng ROLAP na may dynamic na representasyon ng mga sukat ay ang pinakamainam na solusyon, dahil ang mga naturang pagbabago ay hindi nangangailangan ng pisikal na muling pagsasaayos ng database.

Ang mga relational na DBMS ay nagbibigay ng mas mataas na antas ng proteksyon ng data at mahusay na kakayahang mag-iba ng mga karapatan sa pag-access.

Ang pangunahing kawalan ng ROLAP kumpara sa mga multidimensional na DBMS ay mas mababang pagganap. Upang magbigay ng pagganap na maihahambing sa MOLAP, ang mga relational system ay nangangailangan ng maingat na disenyo ng database schema at pagsasaayos ng mga index, iyon ay, maraming pagsisikap sa bahagi ng mga administrator ng database. Sa pamamagitan lamang ng paggamit ng mga star schemas makakalapit ang pagganap ng mga well-tuned na relational system sa mga system batay sa mga multidimensional na database.

OLAP(mula sa English OnLine Analytical Processing - operational analytical data processing, gayundin: analytical data processing in real time, interactive analytical data processing) - isang diskarte sa analytical data processing batay sa kanilang multidimensional hierarchical representation, na bahagi ng mas malawak na larangan ng impormasyon teknolohiya - negosyo -analyst ().

Para sa catalog ng mga solusyon at proyekto ng OLAP, tingnan ang seksyong OLAP sa TAdviser.

Mula sa pananaw ng gumagamit, OLAP-Ang mga system ay nagbibigay ng mga tool para sa flexible na pagtingin sa impormasyon sa iba't ibang mga seksyon, awtomatikong pagtanggap ng pinagsama-samang data, pagsasagawa ng analytical na operasyon ng convolution, pagdedetalye, at paghahambing sa paglipas ng panahon. Ang lahat ng ito ay ginagawang solusyon ang mga sistema ng OLAP na may malinaw na mga pakinabang sa larangan ng paghahanda ng data para sa lahat ng uri ng pag-uulat ng negosyo, na kinasasangkutan ng pagtatanghal ng data sa iba't ibang seksyon at iba't ibang antas ng hierarchy - halimbawa, mga ulat sa pagbebenta, iba't ibang anyo ng mga badyet, at iba pa sa. Ang mga pakinabang ng naturang representasyon sa iba pang anyo ng pagsusuri ng data, kabilang ang pagtataya, ay halata.

Mga kinakailangan para sa mga OLAP system. FASMI

Ang pangunahing kinakailangan para sa mga OLAP system ay ang bilis, na nagpapahintulot sa mga ito na magamit sa proseso ng interactive na gawain ng isang analyst na may impormasyon. Sa ganitong kahulugan, ang mga sistema ng OLAP ay pinaghahambing, una, sa tradisyonal na RDBMS, ang mga sample kung saan may karaniwang mga query para sa mga analyst na gumagamit ng pagpapangkat at pagsasama-sama ng data ay karaniwang mahal sa mga tuntunin ng oras ng paghihintay at pag-load ng RDBMS, kaya interactive na makipagtulungan sa kanila para sa anumang Ang mga makabuluhang dami ng data ay kumplikado. Pangalawa, ang mga sistema ng OLAP ay sumasalungat din sa karaniwang flat-file na presentasyon ng data, halimbawa, sa anyo ng mga madalas na ginagamit na tradisyonal na mga spreadsheet, ang pagtatanghal ng multidimensional na data kung saan ay kumplikado at hindi intuitive, at mga operasyon para sa pagbabago ng slice - points ng pagtingin sa data - nangangailangan din ng oras at kumplikadong interactive na trabaho sa data.

Kasabay nito, sa isang banda, ang mga kinakailangan ng data na partikular sa mga system ng OLAP ay karaniwang nagpapahiwatig ng pag-iimbak ng data sa mga espesyal na istruktura na na-optimize para sa mga karaniwang gawain ng OLAP, sa kabilang banda, ang direktang pagkuha ng data mula sa mga umiiral na system sa panahon ng proseso ng pagsusuri ay hahantong sa isang makabuluhang pagbaba sa kanilang pagganap.

Samakatuwid, ang isang mahalagang kinakailangan ay ang magbigay ng pinaka-kakayahang umangkop na link sa pag-import-export sa pagitan ng mga umiiral na system na gumaganap bilang isang data source at isang OLAP system, pati na rin ang isang OLAP system at external na data analysis at mga application sa pag-uulat.

Higit pa rito, ang ganitong kumbinasyon ay dapat matugunan ang malinaw na mga kinakailangan ng pagsuporta sa pag-import-export mula sa ilang pinagmumulan ng data, pagpapatupad ng mga pamamaraan para sa paglilinis at pagbabago ng data, pag-iisa sa mga ginamit na classifier at mga reference na aklat. Bilang karagdagan, ang mga kinakailangang ito ay dinagdagan ng pangangailangan na isaalang-alang ang iba't ibang mga siklo ng pag-update ng data sa mga umiiral na sistema ng impormasyon at pag-isahin ang kinakailangang antas ng detalye ng data. Ang pagiging kumplikado at versatility ng problemang ito ay humantong sa paglitaw ng konsepto ng mga warehouse ng data, at, sa isang makitid na kahulugan, sa pagkilala ng isang hiwalay na klase ng conversion ng data at mga kagamitan sa conversion - ETL (Extract Transform Load).

Mga Modelong Aktibong Imbakan ng Data

Isinaad namin sa itaas na ipinapalagay ng OLAP ang isang multidimensional na hierarchical na representasyon ng data, at, sa isang kahulugan, ay sumasalungat sa mga sistemang nakabatay sa RDBMS.

Gayunpaman, hindi ito nangangahulugan na ang lahat ng mga OLAP system ay gumagamit ng isang multidimensional na modelo upang mag-imbak ng aktibo, "gumagana" na data ng system. Dahil ang aktibong modelo ng pag-iimbak ng data ay nakakaimpluwensya sa lahat ng mga kinakailangan na idinidikta ng pagsubok ng FASMI, ang kahalagahan nito ay binibigyang-diin sa pamamagitan ng katotohanang sa batayan na ito na tradisyonal na nakikilala ang mga subtype ng OLAP - multidimensional (MOLAP), relational (ROLAP) at hybrid (HOLAP).

Gayunpaman, ang ilang mga eksperto, pinangunahan ng mga nabanggit Nigel Pends, ipahiwatig na ang pag-uuri batay sa isang pamantayan ay hindi sapat na kumpleto. Bukod dito, ang karamihan sa mga umiiral na sistema ng OLAP ay magiging uri ng hybrid. Samakatuwid, tatalakayin natin nang mas detalyado ang mga aktibong modelo ng pag-iimbak ng data, na binabanggit kung alin sa mga ito ang tumutugma sa kung alin sa mga tradisyonal na subtype ng OLAP.

Pag-iimbak ng aktibong data sa isang multidimensional na database

Sa kasong ito, ang data ng OLAP ay nakaimbak sa mga multidimensional na DBMS na gumagamit ng mga disenyong na-optimize para sa ganitong uri ng data. Karaniwan, sinusuportahan ng mga multidimensional na DBMS ang lahat ng karaniwang pagpapatakbo ng OLAP, kabilang ang pagsasama-sama sa mga kinakailangang antas ng hierarchy at iba pa.

Ang ganitong uri ng pag-iimbak ng data, sa isang kahulugan, ay matatawag na classic para sa OLAP. Gayunpaman, ang lahat ng mga hakbang para sa paunang paghahanda ng data ay ganap na kinakailangan para dito. Karaniwan, ang multidimensional na data ng DBMS ay naka-imbak sa disk, gayunpaman, sa ilang mga kaso, upang mapabilis ang pagpoproseso ng data, ang mga naturang sistema ay nagpapahintulot sa data na maimbak sa RAM. Para sa parehong mga layunin, ang pag-iimbak ng mga paunang nakalkula na pinagsama-samang mga halaga at iba pang mga kinakalkula na halaga sa database ay minsan ginagamit.

Ang mga multidimensional na DBMS na ganap na sumusuporta sa multi-user na access na may nakikipagkumpitensyang read and write na mga transaksyon ay medyo bihira ang karaniwang mode para sa mga naturang DBMS ay single-user na may write access na may multi-user read access, o multi-user read-only.

Kabilang sa mga pagkukulang na katangian ng ilang mga pagpapatupad ng mga multidimensional na DBMS at OLAP system batay sa mga ito, mapapansin ng isa ang kanilang pagkamaramdamin sa paglaki sa dami ng puwang na inookupahan ng database, na hindi mahuhulaan mula sa pananaw ng gumagamit. Ang epekto na ito ay sanhi ng pagnanais na mabawasan ang oras ng reaksyon ng system, na nagdidikta sa pag-iimbak ng mga paunang nakalkula na mga halaga ng pinagsama-samang mga tagapagpahiwatig at iba pang mga dami sa database, na nagiging sanhi ng isang nonlinear na pagtaas sa dami ng impormasyon na nakaimbak sa database na may ang pagdaragdag ng mga bagong halaga ng data o mga sukat.

Ang lawak ng pagpapakita ng problemang ito, pati na rin ang mga kaugnay na problema ng epektibong pag-iimbak ng mga kalat-kalat na data cube, ay tinutukoy ng kalidad ng mga diskarte at algorithm na ginagamit para sa mga partikular na pagpapatupad ng mga OLAP system.

Pag-iimbak ng aktibong data sa isang relational database

Ang data ng OLAP ay maaari ding iimbak sa isang tradisyonal na RDBMS. Sa karamihan ng mga kaso, ginagamit ang diskarteng ito kapag sinusubukang "walang sakit" na isama ang OLAP sa mga kasalukuyang accounting system o mga warehouse ng data na nakabatay sa RDBMS. Kasabay nito, ang pamamaraang ito ay nangangailangan ng ilang karagdagang mga kakayahan mula sa RDBMS upang matiyak ang epektibong katuparan ng mga kinakailangan ng pagsubok ng FASMI (sa partikular, pagtiyak ng kaunting oras ng pagtugon ng system). Karaniwan, ang data ng OLAP ay iniimbak sa denormalized na anyo, at ang ilan sa mga paunang nakalkulang pinagsama-sama at mga halaga ay iniimbak sa mga espesyal na talahanayan. Kapag naka-imbak sa isang normalized na form, ang pagiging epektibo ng RDBMS bilang isang paraan para sa pag-iimbak ng aktibong data ay bumababa.

Ang problema sa pagpili ng mga epektibong diskarte at algorithm para sa pag-iimbak ng precomputed na data ay may kaugnayan din para sa mga OLAP system batay sa RDBMS, kaya ang mga tagagawa ng naturang mga system ay karaniwang tumutuon sa mga merito ng mga diskarte na ginamit.

Sa pangkalahatan, pinaniniwalaan na ang mga OLAP system na batay sa RDBMS ay mas mabagal kaysa sa mga system na batay sa mga multidimensional na DBMS, kabilang ang dahil sa mga istruktura ng pag-iimbak ng data na hindi gaanong mahusay para sa mga gawain ng OLAP, ngunit sa pagsasagawa ito ay depende sa mga katangian ng isang partikular na system.

Kabilang sa mga pakinabang ng pag-iimbak ng data sa isang RDBMS ay ang mas malaking scalability ng mga naturang system.

Pag-iimbak ng aktibong data sa mga flat file

Ang diskarte na ito ay nagsasangkot ng pag-iimbak ng mga chunks ng data sa mga regular na file. Karaniwan itong ginagamit bilang karagdagan sa isa sa dalawang pangunahing diskarte upang mapabilis ang trabaho sa pamamagitan ng pag-cache ng kasalukuyang data sa disk o sa RAM ng client PC.

Hybrid na diskarte sa pag-iimbak ng data

Karamihan sa mga tagagawa ng mga OLAP system na nagpo-promote ng kanilang mga komprehensibong solusyon, kadalasang kasama, bilang karagdagan sa mismong OLAP system, DBMS, ETL (Extract Transform Load) at mga tool sa pag-uulat, ay kasalukuyang gumagamit ng hybrid na diskarte sa pag-aayos ng pag-iimbak ng aktibong data ng system, pamamahagi nito sa isang paraan o iba pa sa pagitan ng RDBMS at espesyal na storage, gayundin sa pagitan ng mga istruktura ng disk at in-memory na pag-cache.

Dahil ang pagiging epektibo ng naturang solusyon ay nakasalalay sa mga partikular na diskarte at algorithm na ginagamit ng tagagawa upang matukoy kung anong data at kung saan iimbak, pagkatapos ay magmadaling gumawa ng mga konklusyon tungkol sa unang higit na kahusayan ng naturang mga solusyon bilang isang klase nang hindi tinatasa ang mga partikular na tampok ng system na isinasaalang-alang.

OLAP(eng. on-line analytical processing) – isang hanay ng mga pamamaraan para sa dynamic na pagproseso ng mga multidimensional na query sa analytical database. Ang ganitong mga mapagkukunan ng data ay karaniwang medyo malaki, at isa sa pinakamahalagang kinakailangan sa mga tool na ginagamit upang iproseso ang mga ito ay mataas na bilis. Sa mga relational database, ang impormasyon ay nakaimbak sa magkahiwalay na mga talahanayan na maayos na na-normalize. Ngunit ang mga kumplikadong multi-table na query ay naisakatuparan nang mabagal sa kanila. Ang makabuluhang mas mahusay na pagganap sa mga tuntunin ng bilis ng pagpoproseso sa mga sistema ng OLAP ay nakakamit dahil sa mga kakaibang istraktura ng imbakan ng data. Ang lahat ng impormasyon ay malinaw na nakaayos, at dalawang uri ng imbakan ng data ang ginagamit: mga sukat(naglalaman ng mga direktoryo na nahahati sa mga kategorya, halimbawa, mga punto ng pagbebenta, mga kliyente, empleyado, serbisyo, atbp.) at mga katotohanan(ilarawan ang pakikipag-ugnayan ng mga elemento ng iba't ibang dimensyon, halimbawa, noong Marso 3, 2010, ang nagbebenta A ay nagbigay ng serbisyo sa kliyente B sa tindahan C para sa halaga ng D monetary units). Ang mga sukat ay ginagamit upang kalkulahin ang mga resulta sa Analysis Cube. Ang mga panukala ay mga koleksyon ng mga katotohanang pinagsama-sama ng mga kaukulang napiling dimensyon at mga elemento ng mga ito. Salamat sa mga feature na ito, ang mga kumplikadong query na may multidimensional na data ay tumatagal ng mas kaunting oras kaysa sa mga relational na mapagkukunan.

Ang isa sa mga pangunahing nagtitinda ng mga sistema ng OLAP ay ang Microsoft Corporation. Tingnan natin ang pagpapatupad ng mga prinsipyo ng OLAP gamit ang mga praktikal na halimbawa ng paglikha ng isang analytical cube sa Microsoft SQL Server Business Intelligence Development Studio (BIDS) at mga application ng Microsoft Office PerformancePoint Server Planning Business Modeler (PPS) at kilalanin ang mga posibilidad ng visually representing multidimensional. data sa anyo ng mga graph, tsart at talahanayan.

Halimbawa, sa BIDS kinakailangan na lumikha ng OLAP cube gamit ang data tungkol sa isang kompanya ng seguro, mga empleyado nito, mga kasosyo (kliyente) at mga punto ng pagbebenta. Ipagpalagay natin na ang kumpanya ay nagbibigay ng isang uri ng serbisyo, kaya hindi na kakailanganin ang pagsukat ng mga serbisyo.

Una, tukuyin natin ang mga sukat. Ang mga sumusunod na entity (mga kategorya ng data) ay nauugnay sa mga aktibidad ng kumpanya:

  • Mga punto ng pagbebenta
    - Mga empleyado
    - Mga kasosyo
Lumilikha din ito ng mga sukat ng Oras at Scenario, na kinakailangan para sa anumang cube.
Susunod, kailangan mo ng isang talahanayan upang mag-imbak ng mga katotohanan (talahanayan ng katotohanan).
Ang impormasyon ay maaaring ipasok nang manu-mano sa mga talahanayan, ngunit ang pinakakaraniwang paraan ay ang pag-load ng data gamit ang Import Wizard mula sa iba't ibang mga mapagkukunan.
Ipinapakita ng sumusunod na figure ang daloy ng manu-manong paggawa at pagpo-populate ng mga talahanayan ng dimensyon at katotohanan:

Fig.1. Mga talahanayan ng mga sukat at katotohanan sa analytical database. Pagkakasunod-sunod ng paglikha
Pagkatapos gumawa ng multidimensional na data source sa BIDS, maaari mong tingnan ang presentasyon nito (Data Source View). Sa aming halimbawa, makukuha namin ang circuit na ipinapakita sa figure sa ibaba.


Fig.2. View ng Data Source sa Business Intelligence Development Studio (BIDS)

Gaya ng nakikita mo, ang talahanayan ng katotohanan ay konektado sa mga talahanayan ng dimensyon sa pamamagitan ng isa-sa-isang sulat ng mga field ng identifier (PartnerID, EmployeeID, atbp.).

Tingnan natin ang resulta. Sa tab na cube explorer, sa pamamagitan ng pag-drag ng mga sukat at dimensyon sa mga kabuuan, row, column at mga filter na field, makakakuha tayo ng view ng data ng interes (halimbawa, mga natapos na transaksyon sa mga kontrata ng insurance na tinapos ng isang partikular na empleyado noong 2005).