Designing and implementing a data warehouse for internal reporting in Sievo
Koivuniemi, Markus (2015)
Koivuniemi, Markus
Haaga-Helia ammattikorkeakoulu
2015
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2015120519555
https://urn.fi/URN:NBN:fi:amk-2015120519555
Tiivistelmä
The thesis was done for a Software as a Service company Sievo that specialises in spend and procurement analysis and management. Sievo uses a business intelligence report to track internal processes but over time it has become a burden to expand and maintain. The issue lies in the database structure that is used as the source to generate the report. The data warehouse was developed to tackle these problems and to replace the old database structure.
The project was started off with familiarizing with the related theory background that included Business Intelligence, ETL process and Data Warehousing concepts. Then two different test data warehouse structures were created and tested with same set of data. After testing was done it was decided which version was to undergo further development. For the final version a relational database model was done in Microsoft Visio that included all the tables, columns and data types to be used in the data warehouse. Then the data warehouse was implemented to the database and tested with different kinds of data sets. Finally indexing was created to the data warehouse.
As the final result there is a ready to use data warehouse created in Sievo’s database. The data warehouse was designed to support different kinds of data and to offer better flexibility. Query performance was also optimized whenever it did not interfere with the wanted structure.
The data warehouse will not be taken into use instantly as it still requires ETL processes to be built for a continuous use. Building these processes was not in the scope of this project. The actual reports have to be made with the Microsoft Reporting Services as well. Opinnäytetyö tehtiin SaaS (ohjelmiston myynti palveluna) yritys Sievolle, joka on erikoistunut yritysten kulujen ja hankintatoimen analysointiin sekä hallinnoimiseen. Sievossa käytetään ”Business Intelligence” – raportointia sisäisten prosessien seuraamiseen, mutta ajan kuluessa sen kasvattamisesta ja hallinnoimisesta on tullut työlästä. Tämä johtuu tietokantarakenteesta, joka toimii raportoinnin lähteenä. Tietovarasto toteutettiin edellä mainittujen puutteiden ratkaisemiseksi ja siitä tulee uusi lähde raportoinnille.
Projekti alkoi tutustumisella teoriataustaan, johon kuului Business Intelligence, tietovarastointi ja ETL – prosessi. Sitä seurasi kahden rakenteeltaan erilaisen testiversion luominen, joita testattiin samalla datalla. Testaamisen jälkeen päätettiin, kumpaa rakennetta lähdetään kehittämään. Lopulliselle versiolle suunniteltiin ja tehtiin ensin relaatiomalli Microsoft Visiolla, joka sisälsi tietovarastoon tulevat taulut, kolumnit ja datatyypit. Relaatiomallia seurasi tietovaraston luonti tietokantaan ja tietovaraston testaus paljon suuremmalla ja vaihtelevammalla datalla kuin aiempien versioiden. Lopuksi tietovarasto indexoitiin.
Lopputuloksena syntyi käyttövalmis tietovarasto Sievon tietokantaan. Tietovarasto on suunniteltu tukemaan erilaista ja vaihtelevaa dataa sekä tarjoamaan joustavuutta raportointiin. Tietovaraston SQL-kyselyjen suorituskyky on pyritty optimoimaan aina rakenteen salliessa.
Tietovarastoa ei tulla ottamaan heti käyttöön Sievossa, koska se vaatii ETL-prosessien rakentamisen jatkuvaan käyttöön sekä itse raporttien teko Microsoft Reporting Service:llä. Näiden rakentaminen ei kuulunut osaksi tätä projektia.
The project was started off with familiarizing with the related theory background that included Business Intelligence, ETL process and Data Warehousing concepts. Then two different test data warehouse structures were created and tested with same set of data. After testing was done it was decided which version was to undergo further development. For the final version a relational database model was done in Microsoft Visio that included all the tables, columns and data types to be used in the data warehouse. Then the data warehouse was implemented to the database and tested with different kinds of data sets. Finally indexing was created to the data warehouse.
As the final result there is a ready to use data warehouse created in Sievo’s database. The data warehouse was designed to support different kinds of data and to offer better flexibility. Query performance was also optimized whenever it did not interfere with the wanted structure.
The data warehouse will not be taken into use instantly as it still requires ETL processes to be built for a continuous use. Building these processes was not in the scope of this project. The actual reports have to be made with the Microsoft Reporting Services as well.
Projekti alkoi tutustumisella teoriataustaan, johon kuului Business Intelligence, tietovarastointi ja ETL – prosessi. Sitä seurasi kahden rakenteeltaan erilaisen testiversion luominen, joita testattiin samalla datalla. Testaamisen jälkeen päätettiin, kumpaa rakennetta lähdetään kehittämään. Lopulliselle versiolle suunniteltiin ja tehtiin ensin relaatiomalli Microsoft Visiolla, joka sisälsi tietovarastoon tulevat taulut, kolumnit ja datatyypit. Relaatiomallia seurasi tietovaraston luonti tietokantaan ja tietovaraston testaus paljon suuremmalla ja vaihtelevammalla datalla kuin aiempien versioiden. Lopuksi tietovarasto indexoitiin.
Lopputuloksena syntyi käyttövalmis tietovarasto Sievon tietokantaan. Tietovarasto on suunniteltu tukemaan erilaista ja vaihtelevaa dataa sekä tarjoamaan joustavuutta raportointiin. Tietovaraston SQL-kyselyjen suorituskyky on pyritty optimoimaan aina rakenteen salliessa.
Tietovarastoa ei tulla ottamaan heti käyttöön Sievossa, koska se vaatii ETL-prosessien rakentamisen jatkuvaan käyttöön sekä itse raporttien teko Microsoft Reporting Service:llä. Näiden rakentaminen ei kuulunut osaksi tätä projektia.
