Sib b'mod effiċjenti dipendenzi funzjonali fid-databases

Is-sejba tad-dipendenzi funzjonali fid-dejta tintuża f'diversi oqsma tal-analiżi tad-dejta: il-ġestjoni tad-dejtabejż, it-tindif tad-dejta, l-inġinerija inversa tad-dejtabejż u l-esplorazzjoni tad-dejta. Diġà ppubblikajna dwar id-dipendenzi nfushom oġġett Anastasia Birillo u Nikita Bobrov. Din id-darba, Anastasia, gradwata taċ-Ċentru tax-Xjenza tal-Kompjuter ta’ din is-sena, taqsam l-iżvilupp ta’ dan ix-xogħol bħala parti mix-xogħol ta’ riċerka li ddefendiet fiċ-ċentru.

Sib b'mod effiċjenti dipendenzi funzjonali fid-databases

Għażla tal-kompitu

Waqt li kont qed nistudja fiċ-ċentru CS, bdejt nistudja databases fil-fond, jiġifieri, it-tfittxija għal dipendenzi funzjonali u differenti. Dan is-suġġett kien relatat mas-suġġett tax-xogħol tal-kors tiegħi fl-università, għalhekk waqt li kont qed naħdem fuq ix-xogħol tal-kors, bdejt naqra artikli dwar diversi dipendenzi fid-databases. I kiteb reviżjoni ta 'dan il-qasam - waħda mill-ewwel tiegħi artikoli bl-Ingliż u ssottomettiewh għall-konferenza SEIM-2017. Kont kuntent ħafna meta sirt naf li wara kollox ġiet aċċettata, u ddeċidejt li nidħol aktar fil-fond fis-suġġett. Il-kunċett innifsu mhuwiex ġdid - beda jintuża lura fis-snin 90, iżda anke issa jintuża f'ħafna oqsma.

Matul it-tieni semestru tiegħi fiċ-ċentru, bdejt proġett ta 'riċerka biex intejjeb l-algoritmi biex jinstabu dipendenzi funzjonali. Hija ħadmet fuqha flimkien mal-istudenta gradwata tal-Università tal-Istat ta’ San Pietruburgu Nikita Bobrov f’JetBrains Research.

Komplessità komputazzjonali tat-tiftix għal dipendenzi funzjonali

Il-problema ewlenija hija l-kumplessità tal-komputazzjoni. In-numru ta 'dipendenzi minimi u mhux trivjali possibbli huwa limitat hawn fuq bil-valur Sib b'mod effiċjenti dipendenzi funzjonali fid-databasesfejn Sib b'mod effiċjenti dipendenzi funzjonali fid-databases — numru ta' attributi tat-tabella. Il-ħin tat-tħaddim tal-algoritmi jiddependi mhux biss fuq in-numru ta 'attributi, iżda wkoll fuq in-numru ta' ringieli. Fis-snin 90, algoritmi ta’ tfittxija tal-liġi federali fuq PC desktop regolari setgħu jipproċessaw settijiet ta’ data li fihom sa 20 attribut u għexieren ta’ eluf ta’ ringieli f’sa diversi sigħat. Algoritmi moderni li jaħdmu fuq proċessuri multi-core jiskopru dipendenzi għal settijiet ta 'dejta li jikkonsistu f'mijiet ta' attributi (sa 200) u mijiet ta 'eluf ta' ringieli bejn wieħed u ieħor fl-istess ħin. Madankollu, dan mhux biżżejjed: żmien bħal dan huwa inaċċettabbli għall-biċċa l-kbira tal-applikazzjonijiet tad-dinja reali. Għalhekk, żviluppajna approċċi biex nħaffu l-algoritmi eżistenti.

Skemi ta' caching għal intersezzjonijiet ta' diviżorji

Fl-ewwel parti tax-xogħol, żviluppajna skemi ta 'caching għal klassi ta' algoritmi li jużaw il-metodu tal-intersezzjoni tal-partizzjoni. Partizzjoni għal attribut hija sett ta 'listi, fejn kull lista fiha numri ta' linji bl-istess valuri għal attribut partikolari. Kull lista bħal din tissejjaħ cluster. Ħafna algoritmi moderni jużaw diviżorji biex jiddeterminaw jekk tinżammx dipendenza jew le, jiġifieri, huma jaderixxu mal-lemm: Dipendenza Sib b'mod effiċjenti dipendenzi funzjonali fid-databases miżmuma jekk Sib b'mod effiċjenti dipendenzi funzjonali fid-databases. Hawn Sib b'mod effiċjenti dipendenzi funzjonali fid-databases partizzjoni hija nominata u l-kunċett tad-daqs tal-partizzjoni jintuża - in-numru ta 'clusters fiha. Algoritmi li jużaw diviżorji, meta d-dipendenza tinkiser, iżidu attributi addizzjonali fuq in-naħa tax-xellug tad-dipendenza, u mbagħad ikkalkulaha mill-ġdid, billi twettaq l-operazzjoni ta 'intersezzjoni ta' diviżorji. Din l-operazzjoni tissejjaħ speċjalizzazzjoni fl-artikoli. Iżda aħna ndunat li diviżorji għal dipendenzi li jinżammu biss wara ftit rawnds ta 'speċjalizzazzjoni jistgħu jerġgħu jintużaw b'mod attiv, li jista' jnaqqas b'mod sinifikanti l-ħin tat-tħaddim tal-algoritmi, peress li l-operazzjoni tal-intersezzjoni hija għalja.

Għalhekk, ipproponejna euristika bbażata fuq Shannon Entropy u Ginny Uncertainty, kif ukoll il-metrika tagħna, li sejjaħna Reverse Entropy. Hija modifika żgħira ta 'Shannon Entropy u tiżdied hekk kif tiżdied l-uniċità tas-sett tad-dejta. L-euristika proposta hija kif ġej:

Sib b'mod effiċjenti dipendenzi funzjonali fid-databases

Hawnhekk Sib b'mod effiċjenti dipendenzi funzjonali fid-databases — il-grad ta' uniċità tal-partizzjoni kkalkulata reċentement Sib b'mod effiċjenti dipendenzi funzjonali fid-databasesU Sib b'mod effiċjenti dipendenzi funzjonali fid-databases hija l-medjan tal-gradi ta' uniċità għal attributi individwali. It-tliet metriċi kollha deskritti hawn fuq ġew ittestjati bħala metrika tal-uniċità. Tista 'tinnota wkoll li hemm żewġ modifikaturi fl-euristika. L-ewwel tindika kemm il-partizzjoni attwali hija qrib iċ-ċavetta primarja u tippermettilek li tisfrutta b'mod akbar dawk il-ħitan li huma 'l bogħod miċ-ċavetta potenzjali. It-tieni modifikatur jippermettilek tissorvelja l-okkupanza tal-cache u b'hekk iħeġġeġ li żżid aktar diviżorji mal-cache jekk ikun hemm spazju ħieles disponibbli. Is-soluzzjoni b'suċċess ta 'din il-problema ppermettietna nħaffu l-algoritmu PYRO b'10-40%, skont id-dataset. Ta 'min jinnota li l-algoritmu PYRO huwa l-aktar suċċess f'dan il-qasam.

Fil-figura hawn taħt tista 'tara r-riżultati tal-applikazzjoni tal-euristika proposta meta mqabbla ma' approċċ bażiku tal-caching tal-coin-flip. L-assi X huwa logaritmiku.

Sib b'mod effiċjenti dipendenzi funzjonali fid-databases

Mod alternattiv biex taħżen diviżorji

Imbagħad ipproponejna mod alternattiv biex taħżen diviżorji. Il-ħitan huma sett ta 'clusters, li kull wieħed minnhom jaħżen numri ta' tuples b'valuri identiċi għal ċerti attributi. Dawn ir-raggruppamenti jista' jkun fihom sekwenzi twal ta' numri tuple, pereżempju jekk id-dejta f'tabella tkun ordnata. Għalhekk, ipproponejna skema ta 'kompressjoni għall-ħażna ta' diviżorji, jiġifieri ħażna f'intervalli ta 'valuri fi gruppi ta' diviżorji:

$$display$$pi(X) = {{underbrace{1, 2, 3, 4, 5}_{L-ewwel intervall}, underbrace{7, 8}_{It-tieni intervall}, 10}}\ downarrow{ Kompressjoni} \ pi(X) = {{underbrace{$, 1, 5}_{L-ewwel~intervall}, underbrace{7, 8}_{It-tieni~intervall}, 10}}$$display$$

Dan il-metodu kien kapaċi jnaqqas il-konsum tal-memorja waqt it-tħaddim tal-algoritmu TANE minn 1 għal 25%. L-algoritmu TANE huwa algoritmu klassiku għat-tiftix għal-liġijiet federali juża diviżorji waqt ix-xogħol tiegħu. Bħala parti mill-prattika, intgħażel l-algoritmu TANE, peress li kien ħafna aktar faċli li tiġi implimentata ħażna ta 'intervalli fiha milli, pereżempju, f'PYRO sabiex jiġi evalwat jekk l-approċċ propost jaħdemx. Ir-riżultati miksuba huma ppreżentati fil-figura hawn taħt. L-assi X huwa logaritmiku.

Sib b'mod effiċjenti dipendenzi funzjonali fid-databases

Konferenza ADBIS-2019

Abbażi tar-riżultati tar-riċerka, f'Settembru 2019 ippublikajt artiklu Smart Caching għal Skoperta Effiċjenti tad-Dipendenza Funzjonali fit-23 Konferenza Ewropea dwar Avvanzi f'Bażijiet ta' Data u Sistemi ta' Informazzjoni (ADBIS-2019). Waqt il-preżentazzjoni, ix-xogħol ġie nnutat minn Bernhard Thalheim, persuna sinifikanti fil-qasam tad-databases. Ir-riżultati tar-riċerka ffurmaw il-bażi tad-dissertazzjoni tiegħi fil-lawrja tal-masters fil-matematika u l-mekkanika fl-Università tal-Istat ta 'San Pietruburgu, li matulha ġew implimentati ż-żewġ approċċi proposti (caching u kompressjoni) fiż-żewġ algoritmi: TANE u PYRO. Fl-istess ħin, ir-riżultati wrew li l-approċċi proposti huma universali, peress li fuq iż-żewġ algoritmi, biż-żewġ approċċi, ġie osservat tnaqqis sinifikanti fil-konsum tal-memorja, kif ukoll tnaqqis sinifikanti fil-ħin tat-tħaddim tal-algoritmi.

Sors: www.habr.com

Żid kumment