Prosessiautomaation aikasarjadatan tallentamisratkaisu
Stenfors, Risto (2021)
Stenfors, Risto
2021
Automaatiotekniikan DI-ohjelma - Master's Programme in Automation Engineering
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2021-03-15
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202102242236
https://urn.fi/URN:NBN:fi:tuni-202102242236
Tiivistelmä
Nykyaikainen automaatiojärjestelmä tuottaa suuren määrän tietoa, joka halutaan tallentaa ja hyödyntää. Tässä työssä tutkittiin erilaisia vaihtoehtoja automaatiojärjestelmän tuottaman tiedon tallentamiseen. Tässä työssä käsiteltiin vain automaatiojärjestelmän tuottaman mittausdatan tallentamiseen, ei niinkään hälytys- ja tapahtumatietojen tallentamiseen. Löydettyjen tallennusratkaisujen suorituskykyä testattiin ja vertailtiin toisiinsa.
Sopivia tietokantaohjelmistoja etsittiin kirjallisuuskatsauksen avulla. Erilaisten tietokantatyyppien ominaisuuksia ja niiden sopivuutta automaatiojärjestelmän tuottaman datan tallentamiseen selvitettiin. Kirjallisuuskatsauksen avulla tutustuttiin myös tietokantojen suorituskyvyn mittaamisen käytäntöihin. Löydettyjä käytäntöjä sovellettiin työssä tehtyjen suorituskykytestiohjelmien toteutuksissa. Testattavat tietokannat olivat InfluxDB ja TimescaleDB. InfluxDB ja TimescaleDB ovat molemmat tyypiltään aikasarjatietokantoja. TimescaleDB on relaatiotietokannan päälle rakennettu aikasarjatietokanta, kun taas InfluxDB on kehitetty alusta alkaen aikasarjatietokannaksi.
InfluxDB:n ja TimescaleDB:n suorituskyvyn mittaamiseksi kehitettiin testisovellukset. Testisovelluksien avulla saatiin kerättyä mittausdataa tietokantaohjelmistojen suorituskyvystä erilaisissa tilanteissa. Suorituskykymittauksissa saatiin esille selkeät erot tietokantojen suorituskyvyssä. Kerätyn mittausdatan ja tietokantojen muiden ominaisuuksien perusteella voidaan tehdä valinta sopivimmasta tietokantaohjelmistosta. Modern automation system produces large quantities of data. This data is to be stored and utilized. Different solutions for storing data produced by automation system was studied in this thesis. Only measurement data was taken to account in this thesis and not alarm data or event data. Performance of the found database software solutions was tested and compared between each other.
Suitable database software was searched by means of literary survey. Qualities of various database software solutions was studied and their suitability as database for automation system was investigated. The practices of database performance testing were also studied by means literary survey. Discovered practices were used in the development of performance testing software. The tested database software solutions were InfluxDB and TimescaleDB. Both InfluxDB and TimescaleDB are time series databases. TimescaleDB is built as an add-on on top of a relational database. InfluxDB is developed as an time series database from the outset.
Software for performance testing was developed for InfluxDB and TimescaleDB. Performance test software measured their performance in various different situations. Performance tests revealed significant differences in the performance of the databases. The collected measurement data and other qualities make basis for selection of database software to be used.
Sopivia tietokantaohjelmistoja etsittiin kirjallisuuskatsauksen avulla. Erilaisten tietokantatyyppien ominaisuuksia ja niiden sopivuutta automaatiojärjestelmän tuottaman datan tallentamiseen selvitettiin. Kirjallisuuskatsauksen avulla tutustuttiin myös tietokantojen suorituskyvyn mittaamisen käytäntöihin. Löydettyjä käytäntöjä sovellettiin työssä tehtyjen suorituskykytestiohjelmien toteutuksissa. Testattavat tietokannat olivat InfluxDB ja TimescaleDB. InfluxDB ja TimescaleDB ovat molemmat tyypiltään aikasarjatietokantoja. TimescaleDB on relaatiotietokannan päälle rakennettu aikasarjatietokanta, kun taas InfluxDB on kehitetty alusta alkaen aikasarjatietokannaksi.
InfluxDB:n ja TimescaleDB:n suorituskyvyn mittaamiseksi kehitettiin testisovellukset. Testisovelluksien avulla saatiin kerättyä mittausdataa tietokantaohjelmistojen suorituskyvystä erilaisissa tilanteissa. Suorituskykymittauksissa saatiin esille selkeät erot tietokantojen suorituskyvyssä. Kerätyn mittausdatan ja tietokantojen muiden ominaisuuksien perusteella voidaan tehdä valinta sopivimmasta tietokantaohjelmistosta.
Suitable database software was searched by means of literary survey. Qualities of various database software solutions was studied and their suitability as database for automation system was investigated. The practices of database performance testing were also studied by means literary survey. Discovered practices were used in the development of performance testing software. The tested database software solutions were InfluxDB and TimescaleDB. Both InfluxDB and TimescaleDB are time series databases. TimescaleDB is built as an add-on on top of a relational database. InfluxDB is developed as an time series database from the outset.
Software for performance testing was developed for InfluxDB and TimescaleDB. Performance test software measured their performance in various different situations. Performance tests revealed significant differences in the performance of the databases. The collected measurement data and other qualities make basis for selection of database software to be used.