Skip to main content

NoSQL-tietokannat yleiskatsaus

Hotellinx Cloud - Front Office yleiskatsaus (Saattaa 2024)

Hotellinx Cloud - Front Office yleiskatsaus (Saattaa 2024)
Anonim

Lyhennys NoSQL on suunniteltu vuonna 1998. Monet ajattelevat, että NoSQL on poikkeuksellinen termi, joka luotiin SQL: n pokeille. Todellisuudessa termi tarkoittaa ei vain SQL: tä. Ajatuksena on, että molemmat teknologiat voivat olla rinnakkaisia ​​ja niillä kaikilla on paikka. NoSQL-liike on ollut viime vuosina uutisissa, sillä monet Web 2.0 -johtajat ovat ottaneet käyttöön NoSQL-teknologian. Yritykset, kuten Facebook, Twitter, Digg, Amazon, LinkedIn ja Google, käyttävät NoSQLä tavalla tai toisella. Let's break down NoSQL, jotta voit selittää sen CIO: lle tai jopa työtovereillemme.

NoSQL nousi tarpeesta

Tietovarasto: Maailman tallennettu digitaalinen data mitataan exabytes. Exabyte on yhtä kuin miljardi gigatavua (GB). Internet.comin mukaan vuonna 2006 lisätyn tallennetun tiedon määrä oli 161 exabytettä. Vain 4 vuotta myöhemmin vuonna 2010 tallennettujen tietojen määrä on lähes 1000 ExaByteä, mikä on yli 500%: n lisäys. Toisin sanoen maailmassa on paljon tietoa, ja se vain kasvaa jatkuvasti.

Yhteenliitetyt tiedot: Tiedot ovat edelleen yhteydessä toisiinsa. Hyperlinkkeihin kehitettyjen web-sivujen luominen, blogeissa on pingbackit ja kaikilla tärkeillä sosiaalisen verkoston järjestelmillä on tunnisteet, jotka sitovat asioita yhteen. Suuret järjestelmät on rakennettu yhdistämään toisiinsa.

Monimutkainen tietorakenne: NoSQL pystyy käsittelemään hierarkkisia sisäkkäisiä tietorakenteita helposti. Jotta sama asia voidaan suorittaa SQL: ssä, tarvitset useita relaatiotaulukoita kaikenlaisilla avaimilla. Lisäksi suorituskyvyn ja tiedon monimutkaisuuden välillä on suhde. Suorituskyky voi heikentyä perinteisessä RDBMS-järjestelmässä, kun säilytetään sosiaalisten verkostoitumisovellusten ja semanttisen verkon tarvitsemia valtavia määriä tietoja.

Mikä on NoSQL?

Luulen, että yksi tapa määritellä NoSQL on pohtia mitä se ei ole. Se ei ole SQL ja se ei ole relaatiotieto. Kuten nimestäkin ilmenee, se ei korvaa RDBMS: ää, vaan onnittelee sitä. NoSQL on suunniteltu hajautettuihin datamyymälöihin erittäin suurille tietotarpeille. Ajattele Facebookia sen 500 000 000 käyttäjää tai Twitterä, joka kerää tietoja Terabitsistä joka päivä.

NoSQL-tietokannassa ei ole kiinteää kaavaa eikä yhtään liittymää. RDBMS "laskeutuu" nopeammin ja nopeammin laitteiston avulla ja lisäämällä muistia. NoSQL voi toisaalta hyödyntää "skaalautumista". Skaalaus tarkoittaa kuorman leviämistä monille hyödykkeiden järjestelmille. Tämä on NoSQL: n komponentti, joka tekee siitä edullisen ratkaisun suurille datasetille.

NoSQL-luokat

Nykyinen NoSQL-maailma sopii neljään perusluokkaan.

  1. Avainarvot tallentaa perustuvat pääasiassa Amazonin vuonna 2007 kirjoitettuun Dynamo Paperiin. Pääajatus on hajautuspöydän olemassaolo, jossa on ainutlaatuinen avain ja osoitin tietylle tietylle aineelle. Näihin kartoituksiin liittyy yleensä välimuistomekanismeja suorituskyvyn maksimoimiseksi.
    1. Sarake perheyrityksiä luotiin tallentaa ja käsitellä hyvin suuria määriä dataa, joka on jaettu useille koneille. Avaimia on vielä, mutta ne viittaavat useisiin sarakkeisiin. BigTable-tapauksessa (Googlen sarakkeen perheen NoSQL-malli) rivit tunnistetaan rivi-avaimella, jonka tiedot lajitellaan ja tallennetaan tällä avaimella. Sarakkeet on järjestetty sarakeryhmittäin.
  2. Asiakirjatietokantas olivat Lotus Notesin innoittamia, ja ne ovat samankaltaisia ​​kuin avainarvot. Malli on pohjimmiltaan versiotut asiakirjat, jotka ovat muiden avainarvokokoelmien kokoelmia. Puolstrukturoidut dokumentit tallennetaan esimerkiksi JSON-muodossa.
  3. Graph Databases on rakennettu solmuilla, muistiinpanojen ja solmujen ominaisuuksien välillä. Rivien ja sarakkeiden taulukoiden sijasta ja SQL: n jäykästä rakenteesta käytetään joustavaa kaaviomallia, joka voi skaalata monissa koneissa.

Major NoSQL -soittimet

NoSQL: n tärkeimmät toimijat ovat syntyneet pääasiassa niiden hyväksymien organisaatioiden vuoksi. Jotkut suurimmista NoSQL-tekniikoista ovat:

  • Dynamo: Dynamo on luonut Amazon.com ja on merkittävin Key-Value NoSQL -tietokanta. Amazon tarvitsi erittäin skaalautuvaa hajautettua alustaa sähköisen kaupankäynnin yrityksille, joten he kehittivät Dynamoa. Amazon S3 käyttää Dynamoa tallennusmekanismina.
  • Cassandra: Cassandra oli Facebookin avoin lähdekoodi ja se on sarakekohtainen NoSQL-tietokanta.
  • BigTable: BigTable on Googlen omistuspohjainen sarakkeellinen tietokanta. Google sallii BigTaben käytön, mutta vain Google App Engine.
  • SimpleDB: SimpleDB on toinen Amazon-tietokanta. Käytetty Amazon EC2 ja S3, se on osa Amazon Web Services, joka veloittaa maksuja riippuen käytöstä.
  • CouchDB: CouchDB ja MongoDB ovat avoimen lähdekoodin asiakirjakeskeisiä NoSQL-tietokantoja.
  • ollut Neo4j: Neo4j on avoimen lähdekoodin kaaviotietokanta.

Querying NoSQL

Kysymys siitä, miten kysyä NoSQL-tietokantaa on se, mitä useimmat kehittäjät ovat kiinnostuneita. Lopulta, valtava tietokantaan tallennetut tiedot eivät tee ketään mitään hyvää, jos et voi hakea ja näyttää sen loppukäyttäjille tai verkkopalveluille. NoSQL-tietokannat eivät tarjoa korkean tason deklaratiivista kyselykieltä kuten SQL. Sen sijaan näiden tietokantojen kysely on datamallispesifistä.

Monet NoSQL-alustoista mahdollistavat RESTful-rajapinnat datalle. Muut tarjouspyyntö-sovellusliittymät. On kehitetty useita kyselyvälineitä, jotka yrittävät kysellä useita NoSQL-tietokantoja. Nämä työkalut toimivat yleensä yhden SingleSQL-luokan sisällä. Yksi esimerkki on SPARQL. SPARQL on selittävä kyselyspesifikaatio, joka on suunniteltu kaavion tietokantoihin. Tässä on esimerkki SPARQL-kyselystä, joka hakee tietyn bloggerin URL-osoitteen (IBM: n hyväksi):

PREFIX foaf: SELECT? UrlFROM MISSÄ {avustaja foaf: nimi "Jon Foobar".? avustaja foaf: weblog? url.}

NoSQL: n tulevaisuus

Organisaatiot, joilla on massiiviset tallennustarpeet, katsovat vakavasti NoSQL: stä. Ilmeisesti konsepti ei saa yhtä paljon vetovoimaa pienemmissä organisaatioissa. Tietopäivän suorittamassa kyselyssä 44% yritysten IT-ammattilaisista ei ole kuullut NoSQL: stä. Lisäksi vain 1% vastaajista ilmoitti, että NoSQL on osa strategista suuntaa. On selvää, että NoSQL: llä on paikka yhteydellisessä maailmassamme, mutta sen täytyy kehittyä edelleen, jotta saisimme massamuutoksen, jota monet ajattelevat voivansa.