NoSQL 101

Kirjoittaja: Judy Howell
Luomispäivä: 26 Heinäkuu 2021
Päivityspäivä: 21 Kesäkuu 2024
Anonim
How do NoSQL databases work? Simply Explained!
Video: How do NoSQL databases work? Simply Explained!

Sisältö


Ottaa mukaan:

Ei-relaatiotietokannoista tai NoSQL-tietokannoista on tullut näkyvä vaihtoehtoinen malli tietokannan ylläpitäjille, koska ne ovat halvempia, joustavampia, vaativat vähemmän hallintaa ja ovat skaalautuvampia.

Relaatiotietokannat ovat hallinneet monien vuosien ajan tietokantojen hallintaa. Mutta ei enää. Ei-relaatiotietokannoista tai NoSQL-tietokannoista on tullut nykyään merkittävä vaihtoehtoinen malli tietokannan ylläpitäjille. Miksi? Ne ovat halvempia, joustavampia, vaativat vähemmän hallintaa ja skaalautuvat (jotain, josta tulee yhä tärkeämpää suurten tietojen kasvaessa).

Tutustu tässä hyvin tietokannan hallinnan kasvavaan muotoon.

Jotkut taustatietokannan hallinnasta

Tietokanta on kokoelma datatietueita järjestäytyneessä muodossa. Jotta näitä tietoja voidaan tallentaa, käyttää ja käsitellä, tarvitsemme rakenteen. Tämä rakenne voi olla mikä tahansa yksinkertaisesta tiedostojärjestelmästä edistyneeseen tietokannan hallintajärjestelmään (DBMS). Molemmilla on omat edut ja haitat, mutta DBMS-järjestelmää suositaan yleensä seuraavista syistä:


  • DBMS-järjestelmä pystyy hallitsemaan suuria määriä dataa.
  • Järjestelmän varmuuskopiointia, palauttamista ja tietojen palauttamista ei usein tueta tiedostojärjestelmässä.
  • Tietojen redundanssista on huolehdittu hyvin DBMS-järjestelmässä, mikä estää muistin väärinkäyttöä.
  • Tietokanta voidaan varustaa paremmin turvatoimenpiteillä tallennettujen tietojen tilan ja eheyden säilyttämiseksi.
  • DBMS-järjestelmä tukee usean käyttäjän pääsyä ja huolehtii samanaikaisuusongelmista.
  • DBMS-järjestelmä tarjoaa useita käyttäjänäkymiä sekä useita abstraktiotasoja.
  • DBMS-järjestelmä ylläpitää ACID: n ydinominaisuuksia tietojen noutamisessa ja päivittämisessä.

Nykyaikaiset tietokantajärjestelmät ovat relaatiotietokannan hallintajärjestelmiä (RDBMS), joissa tiedot sijaitsevat taulukoissa vähimmäistoistojen kanssa. Kuten nimestä voi päätellä, relaatiotietokanta luo yhteydet datan välille ja sallii saman datan erottamisen ja katselun tietokannoissa monin eri tavoin. Tämä hallinta tapahtuu kuitenkin kustannuksin. (Jos haluat lisätietoja taustasta, katso Johdanto tietokantoihin.)


Mikä on NoSQL?

NoSQL on eräänlainen tietokanta, joka ei noudata laajalti käytettyä relaatiotietokannan hallintamallia. Toisin sanoen, NoSQL-tietokannat eivät ole ensisijaisesti rakennettu taulukoihin, ja toisin kuin RDBMS, ne eivät käytä SQL: tä tietojen manipulointiin - siis nimen. NoSQL luotiin tukemaan SQL: tä, ei sen korvikkeena. Se perustuu malliin, joka on vähemmän tiukka ja joka ei noudata olennaisesti kiinteää mallia. Se ei myöskään pidä kiinnittyä ACID-ominaisuuksiin, eikä ole olemassa käsitettä, kuten JOIN, toisin kuin useimmissa RDBMS-järjestelmissä.

Suuri määritelmä NoSQL: stä on nosql-database.org, joka määrittelee termin seuraavasti:

Seuraavan sukupolven tietokannat käsittelevät lähinnä joitain seuraavista kohdista: ovat ei-relaatiot, hajautettuja, avoimen lähdekoodin ja vaakasuunnassa skaalautuvia. Alkuperäinen tarkoitus on ollut nykyaikainen web-laajuinen tietokanta. Usein käytetään enemmän ominaisuuksia, kuten: kaaviovapaa, helppo replikaatiotuki, yksinkertainen API, lopulta johdonmukainen / BASE (ei ACID), valtava määrä tietoa ja enemmän.

NoSQL: n historia ja juuret

Jotta saadaan hieman hämmentävämpi, on olemassa NoSQL-niminen RDBMS. Sen juuret ovat 1990-luvulla, ja sen on luonut Carl Strozzi. Tämä on oikeastaan ​​täysin erilainen; sen relaatiojärjestelmä, mutta ilman SQL-liittymää. Strozzi on kommentoinut, että sen, mitä nykyisin kutsutaan NoSQL: ksi, olisi pitänyt nimeltään "NoREL" tai jotain vastaavaa.

Ei vikoja, ei stressiä - vaiheittaiset ohjeet elämää muuttavien ohjelmistojen luomiseen tuhoamatta elämääsi

Et voi parantaa ohjelmointitaitojasi, kun kukaan ei välitä ohjelmiston laadusta.

NoSQL: n nykypäivän liike, joka koskee meitä, kiertää IT-jättiläisiä, kuten Googlea ja Amazonia, ja heidän tarpeensa tietokantaan, joka pystyy mittaamaan tuottamansa valtavan määrän tietoja. Tietysti tämän sanan sanasta on kehittynyt ns. Big data, josta NoSQL on valtava osa. (Jos haluat lisätietoja, lue The Big Data Evolution.)

Tarkentamatta päivämääriä 2000-luvulla, mutta etenkin vuosikymmenen viimeisellä puoliskolla, melkein kaikki suuret verkkoyritykset osallistuivat tavalla tai toisella NoSQL: ään tietokannan hallintajärjestelmien, kuten BigTable, CouchDB, Amazon Dynamo, MongoDB, avulla. , Cassandra ja Hadoop, monien joukossa, monien muiden joukossa (katso historiaa täältä ja loistava listaus täältä). NoSQL-nimen käynnisti se, että Rackspace-työntekijä käytti sen nimeä Eric Evans vuonna 2009. Hän käytti nimeä kokoontumiseen liittyen "avoimen lähdekoodin, hajautettuihin, ei-relaatiotietokantoihin". Sen jälkeen nimi vain jumissa.

Miksi käyttää NoSQL: tä?

Miksi käytämme NoSQL: tä ollenkaan, kun meillä on hyvät, vanhat RDBMS-tiedostot? Vastaus on, että joissain tapauksissa RDBMS ei riitä, kun taas toisissa se on ylenmääräinen. Tässä on muutama suhteellisiin tietokantoihin liittyviä haittoja, jotka voivat tehdä NoSQL: stä paremman ratkaisun:

  • Sovelluksen on ehkä tallennettava tiedot hierarkkiseen verkkoon tai puurakenteeseen.
  • Haluat ehkä vain tallentaa sovelluksen elementit pysyvään tallennukseen johdonmukaisesti, mutta RDBMS voi olla melko kallista kustannusten ja resurssien suhteen.
  • NoSQL sopii parhaiten, kun sovellusyksiköt tarvitsevat niissä kyselyominaisuuden.
  • RDBMS saattaa epäonnistua, jos työskentelet hajautetussa tietokannassa tai pilvipohjaisessa sovelluksessa saatavuuden ja kestävyyden suhteen.
  • NoSQL ei vaadi jäykkää kaavion määritelmää tai metatietojen tallentamista olemassa olevan tiedon täydentämiseksi.

Tärkein asia ymmärtää on se, että tarpeita vetivät valtavat tietomäärät ja tietokantojen vaatimustavan muutos. Kun verkko muuttui sosiaalisemmaksi, se ei ollut vain lukea, vaan kirjoittaa ja kuinka skaalata sitä. Näissä tapauksissa NoSQL on parempi kuin perinteisempi RDBMS.

NoSQL: n alin rivi

Seuraamalla Internet-jättiläisten jalanjälkiä, monet yritykset ja organisaatiot, jotka käsittelevät massiivisia datapaloja, käyttävät NoSQL: tä yhdessä nykyisten DBMS-tietokantojen kanssa parempaan suorituskykyyn ja tehokkuuteen. Jos olet tekemisissä suuren volyymin verkkosovellusten kanssa, tarvitset todennäköisesti vahvan ymmärtämisen NoSQL: stä.

Pienemmille organisaatioille NoSQL: n arvo ei ole yhtä vahva, varsinkin kun sen toteuttamiseen liittyy vakavia haasteita, kuten tuen, asiantuntemuksen, hallinnon, analytiikan ja yritystiedon puute. Tosiasia on, että keskimääräinen pieni yritys ei tuottaa petatavuja tietoja päivittäin. NoSQL: n suosio on kuitenkin kasvussa, ja se on todennäköisesti edelleen yhä tärkeämpi työkalu ja taito tietokannan ylläpitäjille, joten se ei vahingoita ainakaan tietää perusteet.