Pagal
Category: Duomenų Bazių Veikimas

Duomenų bazių veikimo kategorijoja yra ta vieta, kurioje galite pasinerti į keistą ir įdomų duomenų bazių elgesį.

Šredingerio Paradoksas MySQL

Šredingerio Paradoksas MySQL

Jei kada nors gilinotės į fiziką ir ypač į kvantinę mechaniką, tikriausiai girdėjote apie keistą reiškinį pavadintą Šredingerio paradoksu arba Šredingerio kate. Trumpai tariant, Šredingerio katė yra minties eksperimentas, kurį 1935 m. atliko austrų-airių fizikas Erwinas Šredingeris diskusijoje su Albertu Einšteinu: eksperimentas iliustruoja hipotetinę katę, kuri vienu metu gali būti laikoma ir gyva ir mirusia. Kaip Šredingerio Paradoksas Susijęs su MySQL? Kaip jau minėta aukščiau, Šredingerio paradoksas iliustruoja kažką, kas tuo pačiu metu gali būti laikoma gyvu ir mirusiu objektu,…

Daugiau Daugiau

MySQL po Įsilaužimo

MySQL po Įsilaužimo

Kaip jau žinome, įsilaužimų yra papraščiausiai per daug. Įvykus įsilaužimui esame pripratę matyti saugumo ekspertus, įmonės darbuotojus ir kitus žmones patariančius mums kaip geriau apsaugoti savo duomenis ir infrastruktūrą. Dauguma programuotojų tai ir daro – mes saugome savo infrastruktūrą, galbūt pasamdome keletą informacijos saugumo ekspertų ir klausiame jų patarimų kaip apsaugoti savo infrastruktūrą, kaip išvengti įsilaužimų ateityje ir pan. Bet ar mes kada pagalvojome kaip apsaugoti MySQL įvykus įsilaužimui? Šiame straipsnyje bandysime tai aptarti. MySQL Saugumas 101 Kai kalbame apie…

Daugiau Daugiau

InnoDB iš Vidaus: ibdata1 ir Log Failai

InnoDB iš Vidaus: ibdata1 ir Log Failai

ibdata1 failas yra vienas pačių svarbiausių failų visoje InnoDB infrastruktūroje. Be šio failo InnoDB tiesiog negalėtų funkcionuoti – šiame įraše panagrinėsime kodėl. Kas yra ibdata1 ir Kodėl Šis Failas Toks Svarbus? ibdata1 failas yra visos InnoDB infrastruktūros lentelių erdvė – šiame faile yra gyvybiškai svarbi informacija InnoDB varikliui. Štai kaip atrodo InnoDB infrastruktūra (atkreipkite dėmesį į ibdata1 vietą dešinėje): ibdata1 faile yra kelios informacijos klasės, kurios yra būtinos norint palaikyti InnoDB veikimą. Kas yra Faile ibdata1? Deja, MySQL pagal nutylėjimą…

Daugiau Daugiau

MySQL Užklausų Efektyvumo Optimizavimas Naudojant DESCRIBE ir EXPLAIN

MySQL Užklausų Efektyvumo Optimizavimas Naudojant DESCRIBE ir EXPLAIN

DESCRIBE ir EXPLAIN užklausos yra vieni labiausiai paplitusių MySQL našumo problemų sprendimo būdų. Jei paklaustumėte žmonių kaip optimizuoti Jūsų SQL užklausą, galite būti beveik garantuoti, kad šios užklausos bus paminimos ne vieną ir ne du kartus. Jas patyrinėsime šiame straipsnyje. Supraskime DESCRIBE DESCRIBE užklausa naudojama tada, kai atsiranda poreikis sužinoti informaciją apie lentelės struktūrą. DESCRIBE užklausos rezultatai atrodo šitaip: Štai ką reiškia šie rezultatai: Field apibūdina stulpelio pavadinimą; Type apibūdina stulpelio duomenų tipą; Null nurodo ar stulpelyje gali būti NULL…

Daugiau Daugiau

InnoDB ir MyISAM – Kurį Turėtumėte Pasirinkti?

InnoDB ir MyISAM – Kurį Turėtumėte Pasirinkti?

InnoDB ir MyISAM yra vieni populiariausių MySQL variklių. Kiekvienas iš jų turi savo privalumų ir trūkumų – pamėginsime juos peržvelgti. Trumpai apie MyISAM MyISAM buvo MySQL variklis, kuris buvo naudojamas iki MySQL 5.5 versijos, kuri buvo išleista 2009 m. gruodžio mėnesį. MyISAM yra pagrįsta senu ISAM saugojimo varikliu, kuris buvo naudojamas iki MySQL 3.23 – nuo šios MySQL versijos ISAM pakeitė MyISAM. MyISAM variklis buvo išleistas ankščiau nei InnoDB. MyISAM Savybės MyISAM variklio funkcijos yra šios: MyISAM palaiko užrakinimą lentelės…

Daugiau Daugiau

MySQL Aklavietės 101

MySQL Aklavietės 101

Kartais dirbdami su MySQL galite pamatyti šią keistoką klaidą: ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction Ši klaida praneša apie aklavietę – tai mes bandysime aptarti šiame įraše. Kas yra Aklavietė? Aklavietė atsiranda tada, kai nei viena iš skirtingų MySQL užklausų negali įvykti, nes abi iš jų turi po užraktą, reikalingą kitai užklausai. Šis paveiksliukas iliustruoja aklavietę: Verta paminėti, kad aklavietės nereikėtų painioti su užraktu – įrašai yra užrakinami tada, kai išteklius bando pasiekti…

Daugiau Daugiau

MySQL Lėtų Užklausų Identifikavimas: Lėtų Užklausų Įrašų Pagrindai

MySQL Lėtų Užklausų Identifikavimas: Lėtų Užklausų Įrašų Pagrindai

Atsiradus MySQL veikimo problemoms, vienas iš pagrindinių triktis šalinančių veiksmų yra nustatyti ilgai veikiančias užklausas ir jas optimizuoti. Apžvelgsime MySQL funkciją, padedančią nustatyti ilgą laiką veikiančias užklausas – MySQL lėtų užklausų įrašus („slow query log“). Kas Yra Lėtų Užklausų Įrašai? MySQL lėtų užklausų įrašai susideda iš SQL užklausų, kurioms vykdyti reikia daugiau laiko nei nurodyta long_query_time kintamajame. Šio kintamojo minimalios ir numatytosios reikšmės yra atitinkamai 0 ir 10. Jei užklausos vykdymas užtrunka ilgiau nei nustatyta, serveris padidina Slow_queries kintamojo reikšmę…

Daugiau Daugiau

Suprasti MySQL: Indeksų Galia

Suprasti MySQL: Indeksų Galia

Kai kalbame apie užklausų optimizavimą, indeksavimas yra viena iš pirmų temų, kuri yra paliečiama. Aptarkime indeksų rūšis, jų svarbą, jų pranašumus ir trūkumus. Nors viename įraše visko apie įrašus beveik neįmanoma aprėpti (apie indeksus galima parašyti knygą), pamėginsime įsigilinti ir išsiaiškinti kelių rūšių indeksų tipus, taip pat aptarsime kur jie gali būti naudojami. Kas yra Indeksai? Indeksai (taip pat vadinami raktais) yra duomenų struktūros, kurios pagerina užklausų greitį lentelėje. Yra keli indeksų tipai: INDEX – indekso rūšis kuriai nebūtinos unikalios…

Daugiau Daugiau

Lėtos SQL Užklausos? (Kol kas) nekaltinkite MySQL

Lėtos SQL Užklausos? (Kol kas) nekaltinkite MySQL

Lėtos SQL užklausos yra vienas iš pagrindinių pagalių, kišamų į MySQL ratus. Kodėl užklausos lėtos? Kas daro SQL užklausas lėtomis? Kaip padaryti užklausas greitesnėmis? Šiame įraše panagrinėsime kelis būdus, kurie gali nukreipti programuotojus tinkama linkme – apžvelgsime visų keturių CRUD operacijų – kūrimo (Create), skaitymo (Read), atnaujinimų (Update) ir naikinimo (Delete) optimizavimą. Supraskite su Kuo Dirbate Kalbant apie MySQL, programuotojai turi kelis pasirinkimus, susijusius su šia RDBVS. Jie gali pasirinkti variklius naudojamus duomenims saugoti. Teisingas variklio pasirinkimas yra tiesiog būtinas…

Daugiau Daugiau

MySQL ir Dideli Duomenys – Misija Įmanoma?

MySQL ir Dideli Duomenys – Misija Įmanoma?

MySQL yra plačiai naudojama atvirojo kodo reliacinių duomenų bazių valdymo sistema. Nors ši RDBVS yra plačiai naudojama, tam tikrais aspektais ji dažnai suprantama neteisingai. Vienas iš tų aspektų yra dideli duomenys – ar reikėtų naudoti didelių duomenų aplikacijas MySQL infrastruktūroje? Galbūt turėtumėte naudoti MongoDB? Gal reikėtų peržvelgti neo4j ar net AWS Redshift? Pabandysime į tai pažvelgti išsamiau. Kas yra MySQL ir Dideli Duomenys? Prieš pradėdami gilintis į MySQL ir didelius duomenis, turbūt turėtume išsiaiškinti, kas yra MySQL ir kaip tai…

Daugiau Daugiau