Kodulehed
[386] - Andmebaasid I (ITI0206) (kevad 2024)
Esiletöstetud Kiirvalik
Lisainfo Kõige olulisemate tegevuste kiirvalik. Failide saatmiseks valige Vastamine alt sobiv ülesanne.
Üldist
Materjalid
LisainfoMaterjalide kataloogid
Isiklik
Lisainfo Info ainult Sulle - teised kasutajad seda ei näe
Abi
Lisainfo Võimalus küsida õppejõult abi (nagu foorum, kus saab küsida küsimusi ja kommenteerida vastuseid)
Mitmesugust
Abi / Kasutajatugi / SQL

Avalikud küsimused ja vastused:

Küsimuste teemade nimekiri

Erki Eessaar:
Miks õppida SQLi?
Vastus (17.10.2024 15:53): SQLis kui keeles võiks kahtlemata olla palju asju teistmoodi ja paremini (vt "Andmebaasid I" teema 6 materjale). Arendajad kiristavad mõnikord SQLi peale hambaid ja kiruvad, kuid ikkagi kasutavad seda.

Miks nad seda teevad? 2024. aasta märtsi seisuga on kümne kõige populaarsema andmebaasisüsteemi hulgas seitsmes kasutusel SQL.

IEEE Spectrumi 2024. aasta programmeerimiskeelte populaarsuse indeksis oli SQL populaarsuselt kuuendal kohal ja tööandja poolt oodatud keelte hulgas esikohal!
IEEE Spectrumi 2023. aasta programmeerimiskeelte populaarsuse indeksis oli SQL populaarsuselt seitsmendal kohal ja tööandja poolt oodatud keelte hulgas esikohal!
IEEE Spectrumi 2022. aasta programmeerimiskeelte populaarsuse indeksis oli SQL populaarsuselt kuuendal kohal ja tööandja poolt oodatud keelte hulgas esikohal!
SQL on oma positsiooni selles pingereas tublisti parandanud, sest 2021. aasta uuringu kohaselt oli SQL populaarsuselt 15-s ja tööandja oodatult keelte hulgas 6-s.

Tööandjad tahavad töötajatelt lisaks muude keelte oskustele kindlasti ka SQLi oskust, sest programmid töötavad andmetega ja väga-väga sageli on andmed SQL-andmebaasides. Seega puutub mistahes valdkonnas ja keeles programmeerija kindlasti kokku ka SQLiga. SQLi leiab kasutust suurandmetega töötamisel, andmeteaduses, masinõppes. SQL on pika ajalooga, küps keel, mille kasutamiseks mõeldud programmide hulk on tohutu ning mis on suutnud uute IT-trendidega alati väga hästi kohanduda. SIIN on artikkel, mis kirjutab SQL populaarsuse tõusust. Artikkel lõpeb tõdemusega: "Igal dekaadil tekib mõni uus ülehaibitud andmebaasi tehnoloogia, mille pooldajad väidavad, et SQL on kohutav, aeglane või ebapraktiline. Aja jooksul võidab terve mõistus ja saadakse aru, et SQL on hea idee ning kõik jätkavad selle kasutamist."

Sellest tulenevalt on lisaks arendajatele SQL hädavajalik keel andmeteadlastele. Nad peavad kuidagi enda uurimismaterjalile e andmetele ligi pääsema ja sageli on selleks vaja kasutada SQLi.

Näiteks üleeuroopalisel suurandmete töötlemise maratonil 2017. aastal kolmanda koha saanud meeskonna liige kommenteeris, et sisendandmed olid SQL-andmebaasis, hierarhiatena, Adjacency List (külgnevusnimistu) mudeli alusel. Ta ütles SQLi kasutamise kohta: "asi kisub vist hoopis sql hackathoniks. /.../ eeltöötlus ja andmebaasides ringirändamine ja avastamine on 80-90% ajast."

Osalejatele anti vahendite valik vabaks. Eesti meeskond otsustas esmajoones kasutada PostgreSQLi (populaarne ja väga võimalusterohke avatud lähtekoodiga serveri andmebaasisüsteem, kus saab kasutada SQLi). See tähendab, et andmed laaditi PostgreSQLi tabelitesse ja otsiti vastuseid küsimustele kasutades SQL päringuid.

Ainult siis, kui PostgreSQL jäi töökiiruse mõttes hätta ("5+ JOINiga päringutel kulus tulemusteni üle 15 minuti (võtmeveergude indekseerimised jm. "hügieenilised" tegevused olid eelnevalt tehtud)"), laaditi andmed päringu tegemiseks Hadoop klastrisse. Ka seal läks vaja SQLi oskust, sest läbi Hive pakutava liidese saab klastris olevate andmete poole pöörduda kasutades SQL-laadset keelt HiveQL. PostgreSQL päringuid polnud vaja palju muuta, kuid töökiiru paranes kuni kümme korda. Samas kommenteeris üks meeskonna liikmetest, et "Kui Hackathlonil poleks ajapiirangut olnud, siis selle andmestiku puhul oleks saanud ka ilma Hiveta."

Samuti kasutati hajusarvutuste platvormi Spark, kuid ka selle kasutamiseks on kasulik SQLi tunda.

Arvatavasti olete kuulnud NoSQL (kes interpreteerib seda kui "No to SQL", kes aga "Not only SQL") süsteemidest. Need süsteemid sõitsid 2010ndatel suure hurraaga turule, kui järjekordsed printsid valgel hobusel, mis pidid andmebaaside maailma kõigist hädadest päästma. Eriti alguses vastandusid need (nagu nimigi viitab) täielikult SQLile. Nüüdseks aga on üha rohkemates sellistes süsteemides kasutusele võetud kõrgtaseme (deklaratiivne) päringukeel, mis kangesti meenutab SQLi. Irvhambad on hakanud NoSQLi kutsuma tänu sellele kui "Not yet SQL". Nii et kui "päris" SQLi oskate, siis pole keeruline ka neid uusi keeli suhu saada. Näited:

  • CQL (Cassandra Query Language, andmebaasikeel veergude perekondade põhises andmebaasisüsteemis Cassandra).
  • N1QL (päringukeel dokumendipõhises andmebaasisüsteemis Couchbase).
  • SPARQL (standardiseeritud päringukeel andmebaasisüsteemidele, mis põhinevad RDF (Resource Description Framework, ressursside kirjeldamise karkass) andmemudelil).
  • PGQL (katse pakkuda graafipõhistele süsteemidele välja ühtlustatud SQLi-laadset päringukeelt).
  • Rahvusvaheline standardimisorganisatsioon ISO (International Organization for Standardization) alustas graafipõhise andmebaasikeele standardi väljatöötamisega. Uus keel hakkab põhinema SQLil ja selle edul ning andmete otsimise lause peaks meenutama SQL SELECT lauset.
  • Cypher (päringukeel graafipõhises andmebaasisüsteemis Neo4J).

Carnegie Melloni ülikooli andmebaaside professor Andy Pavlo ütles 2021. aastal, et SQLi puudus hoiab Redise (ühe tuntud NoSQL süsteemi) kasutajaid tagasi, sest iga suurem ja kasutatavam NoSQL süsteem, v.a MongoDB ja FaunaDB, toetab mingit SQLi varianti. "SQL oli maailmas enne teie sündi ja on siin ka siis, kui te surete". (artikkel) (video)

Hinda vastust:

Keskmine hinne : Pole veel hinnanguid!