Liitosalgoritmit ja niiden soveltuvuus liitosoperaation toteuttamiseen relaatiotietokannanhallintajärjestelmissä

Tässä tutkielmassa tarkastellaan liitosoperaation toteuttavia liitosalgoritmeja relaatiotietokannanhallintajärjestelmissä. Tutkielman tavoitteena on esitellä kolme yleisintä liitosalgoritmia – nested loop, sort-merge ja hash join – toimintaperiaatteineen sekä selvittää, mikä näistä liitosalgoritmeis...

Full description

Bibliographic Details
Main Author: Alila, Juuso
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, University of Jyväskylä, Jyväskylän yliopisto
Format: Bachelor's thesis
Language:fin
Published: 2017
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/53709
_version_ 1826225796021223424
author Alila, Juuso
author2 Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology University of Jyväskylä Jyväskylän yliopisto
author_facet Alila, Juuso Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology University of Jyväskylä Jyväskylän yliopisto Alila, Juuso Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology University of Jyväskylä Jyväskylän yliopisto
author_sort Alila, Juuso
datasource_str_mv jyx
description Tässä tutkielmassa tarkastellaan liitosoperaation toteuttavia liitosalgoritmeja relaatiotietokannanhallintajärjestelmissä. Tutkielman tavoitteena on esitellä kolme yleisintä liitosalgoritmia – nested loop, sort-merge ja hash join – toimintaperiaatteineen sekä selvittää, mikä näistä liitosalgoritmeista on soveltuvin toteuttamaan liitoksen. Lisäksi tutkielmassa kerrotaan lyhyesti tietokantakyselyn käsittelystä ja optimoinnista, jotta lukija saisi käsityksen siitä, mikä on liitosalgoritmin rooli osana tietokantakyselyn käsittelyprosessia, ja miten kyselyn optimointi vaikuttaa liitosalgoritmin valintaan. Tutkimuksessa selvisi, että yksikään kolmesta yleisimmästä liitosalgoritmista ei ole kaikkien liitosoperaatioiden osalta soveltuvin vaihtoehto, vaan algoritmin soveltuvuuteen vaikuttaa liitosoperaatiossa käsiteltävien relaatioiden koko ja relaatioiden sisältämä data. Lisäksi optimoinnilla on osuutta liitosalgoritmin valintaan. This thesis presents three common algorithms (nested loop, sort-merge and hash join) which implement the join operation in relational database management systems. The aim of this thesis is to present the operating principles of these algorithms and find out which one of them is the most suitable for implementing a join between two relations. Also the processing and optimizing of the database query is briefly discussed in order to present what is the role of a join algorithm in query processing and how does query optimization affect the choosing of a join algorithm. It turns out that none of the three common algorithms is the suitable choice in every join operation and the data in relations and the size of the relations which are supposed to be joined determines which of the algorithms the suitable choice is. Also, the optimization of the database query has an effect on the choosing of the join algorithm.
first_indexed 2024-09-11T08:49:25Z
format Kandityö
fullrecord [{"key": "dc.contributor.advisor", "value": "Taipalus, Toni", "language": null, "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Alila, Juuso", "language": null, "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2017-04-27T07:31:56Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2017-04-27T07:31:56Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2017", "language": null, "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/53709", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "T\u00e4ss\u00e4 tutkielmassa tarkastellaan liitosoperaation toteuttavia liitosalgoritmeja relaatiotietokannanhallintaj\u00e4rjestelmiss\u00e4. Tutkielman tavoitteena on esitell\u00e4 kolme yleisint\u00e4 liitosalgoritmia \u2013 nested loop, sort-merge ja hash join \u2013 toimintaperiaatteineen sek\u00e4 selvitt\u00e4\u00e4, mik\u00e4 n\u00e4ist\u00e4 liitosalgoritmeista on soveltuvin toteuttamaan liitoksen. Lis\u00e4ksi tutkielmassa kerrotaan lyhyesti tietokantakyselyn k\u00e4sittelyst\u00e4 ja optimoinnista, jotta lukija saisi k\u00e4sityksen siit\u00e4, mik\u00e4 on liitosalgoritmin rooli osana tietokantakyselyn k\u00e4sittelyprosessia, ja miten kyselyn optimointi vaikuttaa liitosalgoritmin valintaan. Tutkimuksessa selvisi, ett\u00e4 yksik\u00e4\u00e4n kolmesta yleisimm\u00e4st\u00e4 liitosalgoritmista ei ole kaikkien liitosoperaatioiden osalta soveltuvin vaihtoehto, vaan algoritmin soveltuvuuteen vaikuttaa liitosoperaatiossa k\u00e4sitelt\u00e4vien relaatioiden koko ja relaatioiden sis\u00e4lt\u00e4m\u00e4 data. Lis\u00e4ksi optimoinnilla on osuutta liitosalgoritmin valintaan.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "This thesis presents three common algorithms (nested loop, sort-merge and hash join) which implement the join operation in relational database management systems. The aim of this thesis is to present the operating principles of these algorithms and find out which one of them is the most suitable for implementing a join between two relations. Also the processing and optimizing of the database query is briefly discussed in order to present what is the role of a join algorithm in query processing and how does query optimization affect the choosing of a join algorithm. It turns out that none of the three common algorithms is the suitable choice in every join operation and the data in relations and the size of the relations which are supposed to be joined determines which of the algorithms the suitable choice is. Also, the optimization of the database query has an effect on the choosing of the join algorithm.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted using Plone Publishing form by Juuso Alila (jusaalil) on 2017-04-27 07:31:55.828935. Form: Kandidaatintutkielma -lomake (https://kirjasto.jyu.fi/julkaisut/julkaisulomakkeet/kandin-tutkielma-lomake). JyX data: [jyx_publishing-allowed (fi) =False]", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by jyx lomake-julkaisija (jyx-julkaisija.group@korppi.jyu.fi) on 2017-04-27T07:31:56Z\nNo. of bitstreams: 2\nURN:NBN:fi:jyu-201704272103.pdf: 470039 bytes, checksum: 5f2f5aa005f6bd1981dcfe4fa0897a9e (MD5)\nlicense.html: 1154 bytes, checksum: 1ed7f3b8da8c7740a70f4cf56ef2b53d (MD5)", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2017-04-27T07:31:56Z (GMT). No. of bitstreams: 2\nURN:NBN:fi:jyu-201704272103.pdf: 470039 bytes, checksum: 5f2f5aa005f6bd1981dcfe4fa0897a9e (MD5)\nlicense.html: 1154 bytes, checksum: 1ed7f3b8da8c7740a70f4cf56ef2b53d (MD5)\n Previous issue date: 2017", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "28", "language": "", "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "liitosalgoritmi", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "optimointi", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "relaatiotietokannanhallintaj\u00e4rjestelm\u00e4", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Liitosalgoritmit ja niiden soveltuvuus liitosoperaation toteuttamiseen relaatiotietokannanhallintaj\u00e4rjestelmiss\u00e4", "language": "", "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "bachelor thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-201704272103", "language": null, "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Kandidaatintutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Bachelor's thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Information Technology", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietoj\u00e4rjestelm\u00e4tiede", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Information Systems Science", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.date.updated", "value": "2017-04-27T07:31:56Z", "language": null, "element": "date", "qualifier": "updated", "schema": "dc"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_7a1f", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "restrictedAccess", "language": "fi", "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "bachelorThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}, {"key": "dc.rights.accessrights", "value": "This material has a restricted access due to copyright reasons. It can be read at the workstation at Jyv\u00e4skyl\u00e4 University Library reserved for the use of archival materials: https://kirjasto.jyu.fi/en/workspaces/facilities.", "language": "en", "element": "rights", "qualifier": "accessrights", "schema": "dc"}, {"key": "dc.rights.accessrights", "value": "Aineistoon p\u00e4\u00e4sy\u00e4 on rajoitettu tekij\u00e4noikeussyist\u00e4. Aineisto on luettavissa Jyv\u00e4skyl\u00e4n yliopiston kirjaston arkistoty\u00f6asemalta. Ks. https://kirjasto.jyu.fi/fi/tyoskentelytilat/laitteet-ja-tilat.", "language": "fi", "element": "rights", "qualifier": "accessrights", "schema": "dc"}]
id jyx.123456789_53709
language fin
last_indexed 2025-02-18T10:56:17Z
main_date 2017-01-01T00:00:00Z
main_date_str 2017
publishDate 2017
record_format qdc
source_str_mv jyx
spellingShingle Alila, Juuso Liitosalgoritmit ja niiden soveltuvuus liitosoperaation toteuttamiseen relaatiotietokannanhallintajärjestelmissä liitosalgoritmi optimointi relaatiotietokannanhallintajärjestelmä Tietojärjestelmätiede Information Systems Science
title Liitosalgoritmit ja niiden soveltuvuus liitosoperaation toteuttamiseen relaatiotietokannanhallintajärjestelmissä
title_full Liitosalgoritmit ja niiden soveltuvuus liitosoperaation toteuttamiseen relaatiotietokannanhallintajärjestelmissä
title_fullStr Liitosalgoritmit ja niiden soveltuvuus liitosoperaation toteuttamiseen relaatiotietokannanhallintajärjestelmissä Liitosalgoritmit ja niiden soveltuvuus liitosoperaation toteuttamiseen relaatiotietokannanhallintajärjestelmissä
title_full_unstemmed Liitosalgoritmit ja niiden soveltuvuus liitosoperaation toteuttamiseen relaatiotietokannanhallintajärjestelmissä Liitosalgoritmit ja niiden soveltuvuus liitosoperaation toteuttamiseen relaatiotietokannanhallintajärjestelmissä
title_short Liitosalgoritmit ja niiden soveltuvuus liitosoperaation toteuttamiseen relaatiotietokannanhallintajärjestelmissä
title_sort liitosalgoritmit ja niiden soveltuvuus liitosoperaation toteuttamiseen relaatiotietokannanhallintajärjestelmissä
title_txtP Liitosalgoritmit ja niiden soveltuvuus liitosoperaation toteuttamiseen relaatiotietokannanhallintajärjestelmissä
topic liitosalgoritmi optimointi relaatiotietokannanhallintajärjestelmä Tietojärjestelmätiede Information Systems Science
topic_facet Information Systems Science Tietojärjestelmätiede liitosalgoritmi optimointi relaatiotietokannanhallintajärjestelmä
url https://jyx.jyu.fi/handle/123456789/53709 http://www.urn.fi/URN:NBN:fi:jyu-201704272103
work_keys_str_mv AT alilajuuso liitosalgoritmitjaniidensoveltuvuusliitosoperaationtoteuttamiseenrelaatiotietokannanh