This thesis investigates how three different machine learning models perform on cardinalty estimation for sql queries. All three models were evaluated on three different data sets. The models were tested on both estimating cardinalities when the query just takes information from one table and also a two way join case. Postgresql's own cardinality estimator was used as a baseline. The evaluated models were: Artificial neural networks, random forests and extreme gradient boosted trees. What was found is that the model that performs best is the extreme gradient boosted tree with a tweedie regression loss function. To the authors knowledge, this is the first time an extreme gradient boosted tree has been used in this context. / Denna uppsats undersöker hur tre olika maskininlärningsmodeller presterar på kardinalitetsuppskattning för sql förfrågningar till en databas. Alla tre modeller utvärderades på tre olika datauppsättningar. Modellerna fick både behandla förfrågningar från en tabell, samt en sammanslagning mellan två tabeller. Postgresql's egna kardinalitetsestimerare användes som referenspunkt. De utvärderade modellerna var följande: artificiella neurala nätverk, random forests och extreme gradient boosted trees. En slutsats var att den modellen som utförde uppgiften bäst var extreme gradient boosted trees med en tweedie-regression förlustfunktion. Såvitt författaren vet är det här första gången den här typen av extreme gradient boosted tree används på denna typ av problem.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-288909 |
Date | January 2020 |
Creators | Falgén Enqvist, Olle |
Publisher | KTH, Optimeringslära och systemteori |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-SCI-GRU ; 2020:394 |
Page generated in 0.0018 seconds