Kodulehed
[385] - Andmebaasid II (ITI0207) (sügis 2023)
Esiletöstetud Kiirvalik
Lisainfo Kõige olulisemate tegevuste kiirvalik. Failide saatmiseks valige Vastamine alt sobiv ülesanne.
Üldist
Materjalid
LisainfoMaterjalide kataloogid.
Värvilised mummud tähistavad hinnangulist kataloogide lugemise vajadust. Roheline - suurim, kollane - keskmine, punane või mummuta - väikseim
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 / Andmebaasisüsteemid (Üldine)

Avalikud küsimused ja vastused:

Küsimuste teemade nimekiri

Anonüümne:
NoSQL süsteemid, sh MongoDB on "uus lahe tehnoloogia". Mida ma võiksin nende kohta teada?
Vastus (27.08.2024 10:08): Kasutage, kui vaja, kuid olge tähelepanelikud ja säilitage kriitiline meel.

Siin on Teile veidi mõtteainet edasiseks eluks. 2024. aasta augustis oli MongoDB andmebaasisüsteemide populaarsuse indeksis viiendal kohal! Kui mitte muul põhjusel, siis laske pilk hetkeks sellest artiklist üle, nägemaks, kuidas andmete hajutatud paiknemine komplitseerib süsteemide käitumist. See artikkel on osa projektist Jepsen, mis testib erinevaid hajussüsteemide loomiseks mõeldud vahendeid.

Tsitaat: "In this post, we’ll see that Mongo’s consistency model is broken by design: not only can “strictly consistent” reads see stale versions of documents, but they can also return garbage data from writes that never should have occurred. The former is (as far as I know) a new result which runs contrary to all of Mongo’s consistency documentation. The latter has been a documented issue in Mongo for some time. We’ll also touch on a result from the previous Jepsen post: almost all write concern levels allow data loss."

Mis on sellise või teiste samalaadsete süsteemide kasutamise tulemus? NoSQL Meets Bitcoin and Brings Down Two Exchanges: The Story of Flexcoin and Poloniex.

Tsitaat ühest teisest artiklist, mist käsitleb MongoDB pakutavaid päringute tegemise võimalusi: "Instead of providing developers with a core, well-engineered set of properly shaped building blocks that can combine together to solve all problems, MongoDB provides a set of weirdly shaped, poorly connecting blocks that solve whatever ad hoc user problems prompted their development."

Lõpetuseks veel mõtteavaldusi MongoDB kohta. Pange tähele, et paljudel arvajatel leidub häid sõnu PostgreSQLi kohta.

Maailma esimene süsteem, mis brändis ennast nime all NoSQL pole päris see, mida ootate/arvate.

NoSQL süsteemide õppimise ja kasutamise häda on, et (hetkel veel) on vähe standardeid, mida kõik süsteemid peaksid järgima. Standardite puudus on NoSQL süsteemide autorite teadlik valik - standardid olevat liiga piiravad. Nende meelest - parim süsteem võitku. Kui ellujäänud on selginud ja tehnoloogia areng stabiliseerub, siis võivat ka hakata mõtlema standarditele.

Dokumendipõhiste süsteemide (nagu MongoDB) puhul on standardiks JSON formaati kirjeldav standard. JSON formaati kasutavad dokumendipõhised andmebaasisüsteemid pakuvad võimalust kontrollida/tagada, et andmebaasis andmeid esitav JSON dokument on trimmis, st reeglitega kooskõlas.

Graafi andmebaasisüsteemide korral on jõutud selleni, et populaarseima graafipõhise andmebaasisüsteemi Neo4j arendajad esitasid üleskutse töötada välja graafipõhise andmebaasikeele standard (võttes muidugi aluseks Neo4j andmebaasikeele Cypher). 2019. aasta suvel algatas ISO (International Organization for Standardization) kõigi rahvuslike standardimise organisatsioonide seas küsitluse, kas alustada GQL (Graph Query Language) standardi loomist. 2019. aasta septembris kiideti standardi loomisega alustamine heaks ning standardi esimene heakskiidetud redaktsioon avaldati 17. aprillil 2024 - https://www.gqlstandards.org. GQL pärib mõned omadused (andmetüübid, avaldised jne) SQList, viidates selleks SQL standardile.

Praktikas tähendab standardite puudus, et igas süsteemis on oma andmebaasikeel. Kui isegi süsteemides X ja Y on justkui ühesugune andmemudel (nt graafi andmemudel), siis lähemal vaatlusel selgub, et nende süsteemide arendajate nägemus sellest andmemudelist võib olla märkimisväärselt erinev. Andmebaasisüsteemide võimaluste hulgas ja käitumises esineb väga suuri erinevusi. Standardite puudus tähendab, et kui hakata tarbijana kasutama süsteemi X ning aasta-paari pärast seda arendav (idu)firma pillid kotti paneb, siis uuele platvormile ülekolimine võib osutuda keeruliseks ja töömahukaks. Samuti tähendab standardite puudus, et süsteemi kasutada oskavaid spetsialiste on raske leida ja kallis pidada. Sisuliselt on igal süsteemil oma "standard" ja seda olukorda kirjeldatakse naerdes läbi pisarate SIIN.

Tõele au andes - olemas on SQL standard, kuid ka ühe SQL-andmebaasisüsteemi vahetamine teise vastu (andmebaasi migratsioon) on paraku endiselt keeruline ja töömahukas ülesanne. Seega standard pole imerohi - need kellele standard on mõeldud peavad seda ka reaalselt järgima hakkama.

Kui tahate kiiret kõrgtaseme ülevaadet NoSQL süsteemides, siis on see päris hea materjal. Sama mees on üks selle raamatu autoritest ja viidatud artikkel on põhimõtteliselt selle raamatu lühikokkuvõte. Nimetatud raamatut saab ka lugeda elektrooniliselt O'Reilly digitaalse platvormi kaudud SIIN (Kuidas kasutada O'Reilly digitaalset platvormi?).

Hinda vastust:

Keskmine hinne : Pole veel hinnanguid!