Evaluating the effect of cardinality estimates on two state-of-the-art query optimizer's selection of access method

This master thesis concern relational databases and their query optimizer’s sensitivity to cardinality estimates and the e!ect the quality of the estimate has on the number of different access methods used for the same relation. Two databases are evaluated — PostgreSQL and MariaDB — on a real-world...

Full description

Bibliographic Details
Main Author: Barksten, Martin
Format: Others
Language:English
Published: KTH, Skolan för datavetenskap och kommunikation (CSC) 2016
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-189892
id ndltd-UPSALLA1-oai-DiVA.org-kth-189892
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-kth-1898922018-01-11T05:11:49ZEvaluating the effect of cardinality estimates on two state-of-the-art query optimizer's selection of access methodengEn utvärdering av kardinalitetsuppskattningens påverkan på två state-of-the-art query optimizers val av metod för att hämta dataBarksten, MartinKTH, Skolan för datavetenskap och kommunikation (CSC)2016databasequery optimizerpostgresqlmariadbindex selectionComputer SciencesDatavetenskap (datalogi)This master thesis concern relational databases and their query optimizer’s sensitivity to cardinality estimates and the e!ect the quality of the estimate has on the number of different access methods used for the same relation. Two databases are evaluated — PostgreSQL and MariaDB — on a real-world dataset to provide realistic results. The evaluation was done via a tool implemented in Clojure and tests were conducted on a query and subsets of it with varying sample sizes used when estimating cardinality. The results indicate that MariaDB’s query optimizer is less sensitive to cardinality estimates and for all tests select the same access methods, regardless of the quality of the cardinality estimate. This stands in contrast to PostgreSQL’s query optimizer which will vary between using an index or doing a full table scan depending on the estimated cardinality. Finally, it is also found that the predicate value used in the query a!ects the access method used. Both PostgreSQL and MariaDB are found sensitive to this property, with MariaDB having the largest number of di!erent access methods used depending on predicate value. Detta examensarbete behandlar relationella databaseer och hur stor påverkan kvaliteten på den uppskattade kardinaliteten har på antalet olika metoder som används för att hämta data från samma relation. Två databaser testades — PostgreSQL och MariaDB — på ett verkligt dataset för att ge realistiska resultat. Utvärderingen gjordes med hjälp av ett verktyg implementerat i Clojure och testerna gjordes på en query, och delvarianter av den, med varierande stora sample sizes för kardinalitetsuppskattningen. Resultaten indikerar att MariaDBs query optimizer inte påverkas av kardinalitetsuppskattningen, för alla testerna valde den samma metod för att hämta datan. Detta skiljer sig mot PostgreSQLs query optimizer som varierade mellan att använda sig av index eller göra en full table scan beroende på den uppskattade kardinaliteten. Slutligen pekade även resultaten på att båda databasernas query optimizers varierade metod för att hämta data beroende på värdet i predikatet som användes i queryn. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-189892application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic database
query optimizer
postgresql
mariadb
index selection
Computer Sciences
Datavetenskap (datalogi)
spellingShingle database
query optimizer
postgresql
mariadb
index selection
Computer Sciences
Datavetenskap (datalogi)
Barksten, Martin
Evaluating the effect of cardinality estimates on two state-of-the-art query optimizer's selection of access method
description This master thesis concern relational databases and their query optimizer’s sensitivity to cardinality estimates and the e!ect the quality of the estimate has on the number of different access methods used for the same relation. Two databases are evaluated — PostgreSQL and MariaDB — on a real-world dataset to provide realistic results. The evaluation was done via a tool implemented in Clojure and tests were conducted on a query and subsets of it with varying sample sizes used when estimating cardinality. The results indicate that MariaDB’s query optimizer is less sensitive to cardinality estimates and for all tests select the same access methods, regardless of the quality of the cardinality estimate. This stands in contrast to PostgreSQL’s query optimizer which will vary between using an index or doing a full table scan depending on the estimated cardinality. Finally, it is also found that the predicate value used in the query a!ects the access method used. Both PostgreSQL and MariaDB are found sensitive to this property, with MariaDB having the largest number of di!erent access methods used depending on predicate value. === Detta examensarbete behandlar relationella databaseer och hur stor påverkan kvaliteten på den uppskattade kardinaliteten har på antalet olika metoder som används för att hämta data från samma relation. Två databaser testades — PostgreSQL och MariaDB — på ett verkligt dataset för att ge realistiska resultat. Utvärderingen gjordes med hjälp av ett verktyg implementerat i Clojure och testerna gjordes på en query, och delvarianter av den, med varierande stora sample sizes för kardinalitetsuppskattningen. Resultaten indikerar att MariaDBs query optimizer inte påverkas av kardinalitetsuppskattningen, för alla testerna valde den samma metod för att hämta datan. Detta skiljer sig mot PostgreSQLs query optimizer som varierade mellan att använda sig av index eller göra en full table scan beroende på den uppskattade kardinaliteten. Slutligen pekade även resultaten på att båda databasernas query optimizers varierade metod för att hämta data beroende på värdet i predikatet som användes i queryn.
author Barksten, Martin
author_facet Barksten, Martin
author_sort Barksten, Martin
title Evaluating the effect of cardinality estimates on two state-of-the-art query optimizer's selection of access method
title_short Evaluating the effect of cardinality estimates on two state-of-the-art query optimizer's selection of access method
title_full Evaluating the effect of cardinality estimates on two state-of-the-art query optimizer's selection of access method
title_fullStr Evaluating the effect of cardinality estimates on two state-of-the-art query optimizer's selection of access method
title_full_unstemmed Evaluating the effect of cardinality estimates on two state-of-the-art query optimizer's selection of access method
title_sort evaluating the effect of cardinality estimates on two state-of-the-art query optimizer's selection of access method
publisher KTH, Skolan för datavetenskap och kommunikation (CSC)
publishDate 2016
url http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-189892
work_keys_str_mv AT barkstenmartin evaluatingtheeffectofcardinalityestimatesontwostateoftheartqueryoptimizersselectionofaccessmethod
AT barkstenmartin enutvarderingavkardinalitetsuppskattningenspaverkanpatvastateoftheartqueryoptimizersvalavmetodforatthamtadata
_version_ 1718604389933907968