ce este NoSQL?

baza de date NoSQL este un sistem non-relațional de gestionare a datelor, care nu necesită o schemă fixă. Se evită se alătură, și este ușor de scară. Scopul principal al utilizării unei baze de date NoSQL este pentru magazinele de date distribuite cu nevoi enorme de stocare a datelor. NoSQL este utilizat pentru date mari și aplicații web în timp real. De exemplu, companii precum Twitter, Facebook și Google colectează terabytes de date despre utilizatori în fiecare zi.,

baza de date NoSQL înseamnă „nu numai SQL” sau ” nu SQL.”Deși un termen mai bun ar fi” NoREL”, NoSQL a prins. Carl Strozz a introdus conceptul NoSQL în 1998.

RDBMS tradiționale utilizează sintaxa SQL pentru a stoca și de a prelua date pentru perspective suplimentare. În schimb, un sistem de baze de date NoSQL cuprinde o gamă largă de tehnologii de baze de date care pot stoca date structurate, semi-structurate, nestructurate și polimorfe., Să înțeleg despre NoSQL cu o diagramă în această bază de date NoSQL tutorial:

În acest NoSQL tutorial pentru incepatori, veți ști NoSQL elementele de bază, cum ar fi:

  • de Ce NoSQL?
  • Scurt istoric al bazelor de date NoSQL
  • caracteristici ale NoSQL
  • tipuri de baze de date NoSQL
  • instrumente mecanism de interogare pentru NoSQL
  • care este teorema CAP?
  • eventuala consecvență
  • avantajele NoSQL

De ce NoSQL?,

conceptul de baze de date NoSQL a devenit popular cu giganți de Internet precum Google, Facebook, Amazon etc. care se ocupă de volume uriașe de date. Timpul de răspuns al sistemului devine lent atunci când utilizați RDBMS pentru volume masive de date. pentru a rezolva această problemă, am putea „scala” sistemele noastre prin actualizarea hardware-ului existent. Acest proces este scump. alternativa pentru această problemă este de a distribui încărcarea bazei de date pe mai multe gazde ori de câte ori sarcina crește. Această metodă este cunoscută sub numele de ” scalare.,”

baze de date NoSQL este non-relațional, deci o cântare mai bine decât bazele de date relaționale ca acestea sunt proiectate cu aplicații web în minte.,ST cu JSON

  • cea mai mare parte folosit nici un standard bazat NoSQL interogare limbaj
  • baze de date web-enabled rulează ca servicii de internet-facing
  • distribuite

    • Mai multe baze de date NoSQL pot fi executate într-un mod distribuit
    • oferă auto-scalare și fail-over capabilități
    • adesea conceptul de ACID poate fi sacrificat pentru scalabilitate peer-to-peer, replicare HDFS
    • oferind doar o eventuală consistență
    • arhitectura nimic partajat., Acest lucru permite o mai mică coordonare și o distribuție mai mare.

    NoSQL este Împărtășită Nimic.

    tipuri de baze de date NoSQL

    bazele de date NoSQL sunt clasificate în principal în patru tipuri: pereche de valori cheie, orientate pe coloană, bazate pe grafice și orientate pe documente. Fiecare categorie are atributele și limitările sale unice. Niciuna dintre bazele de date specificate mai sus nu este mai bună pentru a rezolva toate problemele. Utilizatorii ar trebui să selecteze baza de date în funcție de nevoile lor de produs.,

    Tipuri de Baze de date NoSQL:

    • Pereche de chei-valoare Bazate
    • Column-oriented Grafic
    • Grafice bazate
    • Document-oriented

    Pereche Valoare-Cheie Bazate

    Datele sunt stocate în perechi cheie/valoare. Acesta este conceput astfel încât să se ocupe de o mulțime de date și de sarcină grea. bazele de date de stocare a perechilor de valori cheie stochează datele ca un tabel hash în care fiecare cheie este unică, iar valoarea poate fi un JSON, BLOB(obiecte binare mari), șir etc., de exemplu, o pereche cheie-valoare poate conține o cheie precum” site-ul Web „asociată cu o valoare precum”Guru99”.

    Acesta este unul dintre cele mai de bază de date NoSQL exemplu. Acest tip de bază de date NoSQL este folosit ca o colecție, dicționare, tablouri asociative etc. Magazinele de valori cheie ajută dezvoltatorul să stocheze date fără scheme. Ele funcționează cel mai bine pentru conținutul coșului de cumpărături. Redis, Dynamo, Riak sunt câteva exemple NoSQL de baze de date magazin cheie-valoare. Toate se bazează pe hârtia Dynamo a Amazonului., bazele de date orientate pe coloane funcționează pe coloane și se bazează pe hârtie BigTable de către Google. Fiecare coloană este tratată separat. Valorile bazelor de date cu o singură coloană sunt stocate în mod continuu.

    Coloana pe bază de date NoSQL

    Se oferi de înaltă performanță pe agregarea interogări, cum ar fi SUM, COUNT, AVG, MIN, etc. deoarece datele sunt disponibile într-o coloană.,

    Coloana bazate pe baze de date NoSQL sunt utilizate pe scară largă pentru a gestiona depozite de date, business intelligence, CRM, cataloage de Bibliotecă,

    HBase, Cassandra, HBase, Hypertable sunt NoSQL interogare exemple de coloana din baza de date.

    Document-Oriented:

    document-Oriented NoSQL DB stochează și preia datele ca o pereche de valori cheie, dar partea de valoare este stocată ca document. Documentul este stocat în formate JSON sau XML. Valoarea este înțeleasă de DB și poate fi interogată.

    Relaționale Vs., Document

    în această diagramă din stânga puteți vedea că avem rânduri și coloane, iar în dreapta, avem o bază de date de documente care are o structură similară cu JSON. Acum, pentru baza de date relațională, trebuie să știți ce coloane aveți și așa mai departe. Cu toate acestea, pentru o bază de date de documente, aveți Magazin de date ca obiect JSON. Nu aveți nevoie pentru a defini ceea ce face flexibil.

    tipul de document este folosit mai ales pentru sisteme CMS, platforme de blogging, analize în timp real & aplicații de comerț electronic., Acesta nu ar trebui să utilizeze pentru tranzacții complexe care necesită mai multe operațiuni sau interogări împotriva diferitelor structuri agregate. Amazon SimpleDB, CouchDB, MongoDB, Riak, Lotus Notes, MongoDB, sunt documente populare originea sistemelor DBMS.

    Grafic-Based

    o bază de date de tip grafic stochează entități, precum și relațiile dintre aceste entități. Entitatea este stocată ca un nod cu relația ca margini. O margine oferă o relație între noduri. Fiecare nod și margine are un identificator unic.,

    în Comparație cu o bază de date relațională în cazul în care mesele sunt conectate vag, un Grafic de date este un multi-relaționale în natură. Traversarea relație este rapid, deoarece acestea sunt deja capturate în DB, și nu este nevoie să le calculeze. baza de date Graph base folosită mai ales pentru rețele sociale, logistică, date spațiale. Neo4j, Infinite Graph, OrientDB, FlockDB sunt câteva baze de date populare bazate pe grafice., cel mai comun mecanism de recuperare a datelor este recuperarea bazată pe REST a unei valori bazate pe cheia/ID-ul său cu GET resource baza de date a magazinului de documente oferă interogări mai dificile, deoarece înțeleg valoarea într-o pereche cheie-valoare. De exemplu, CouchDB permite definirea vizualizărilor cu MapReduce

    care este teorema CAP?

    teorema CAP este numită și teorema lui brewer., Se afirmă că este imposibil ca un depozit de date distribuite să ofere mai mult de două din trei garanții

    1. consistență
    2. disponibilitate
    3. toleranță partiție

    consistență:

    datele ar trebui să rămână consecvente chiar și după executarea unei operații. Aceasta înseamnă că, odată ce datele sunt scrise, orice cerere de citire viitoare ar trebui să conțină aceste date. De exemplu, după actualizarea stării comenzii, toți clienții ar trebui să poată vedea aceleași date.

    disponibilitate:

    baza de date ar trebui să fie întotdeauna disponibilă și receptivă. Nu ar trebui să aibă nici un timp de oprire.,

    toleranța partițiilor:

    toleranța partițiilor înseamnă că sistemul ar trebui să funcționeze în continuare chiar dacă comunicarea între servere nu este stabilă. De exemplu, serverele pot fi împărțite în mai multe grupuri care nu pot comunica între ele. Aici, dacă o parte din Baza de date nu este disponibilă, alte părți nu sunt întotdeauna afectate.

    eventuala consistență

    termenul „eventuala consistență” înseamnă a avea copii ale datelor pe mai multe mașini pentru a obține disponibilitate ridicată și scalabilitate., Astfel, modificările aduse oricărui element de date de pe o mașină trebuie să fie propagate în alte replici. este posibil ca replicarea datelor să nu fie instantanee, deoarece unele copii vor fi actualizate imediat, în timp ce altele în timp util. Aceste copii pot fi reciproc, dar în timp util, ele devin consecvente. Prin urmare, numele eventuala coerență.,i> de Fapt, mijloacele disponibile DB este disponibil tot timpul ca pe CAPAC teorema

  • Moale stat înseamnă chiar și fără o intrare; sistemul de stat se poate modifica
  • Eventuala coerența înseamnă că sistemul va deveni consistent de-a lungul timpului
  • Avantajele NoSQL

    • Poate fi folosit ca Primar sau Analitic Sursa de Date
    • Date de Mare Capacitate
    • Nici un Singur Punct de Eșec
    • Ușor de Replicare
    • Nu este Nevoie pentru a Separa Cache Strat
    • oferă rapid de performanță și scalabilitate orizontală.,
    • se Pot ocupa structurate, semi-structurate, și date nestructurate, cu același efect
    • programare orientat-Obiect, care este ușor de utilizat și flexibil
    • baze de date NoSQL nu ai nevoie de un de înaltă performanță dedicat server
    • Suport Cheie Producător de Limbi și Platforme
    • Simplu să pună în aplicare decât folosind baze de date
    • Se poate servi ca sursă primară de date pentru aplicații on-line.,ariety, volum, și complexitatea
    • Excelează la baze de date distribuite și multi-operațiunile centrelor de date
    • Elimină necesitatea pentru un anumit strat caching pentru a stoca date
    • Oferă un sistem flexibil de schemă de proiectare care pot fi modificate cu ușurință, fără downtime sau întrerupere a serviciului

    Dezavantajele NoSQL

    • Nici o standardizare reguli
    • Limitat capabilități de interogare
    • baze de date baze de date și instrumente sunt relativ mature
    • nu oferă nici date tradiționale capabilități, cum ar fi consistență atunci când mai multe tranzacții sunt efectuate simultan.,
    • când volumul de date crește, este dificil să se mențină valori unice, deoarece cheile devin dificile
    • nu funcționează la fel de bine cu datele relaționale
    • curba de învățare este rigidă pentru noii dezvoltatori
    • Opțiuni Open source, deci nu atât de populare pentru întreprinderi.

    Sumar

    • NoSQL este un non-relaționale DMS, care nu are nevoie de o schemă fixă, evită se alătură, și este ușor de scară
    • conceptul de baze de date NoSQL beccame populare cu giganti de Internet precum Google, Facebook, Amazon, etc., care se ocupă cu volume imense de date
    • În anul 1998 – Carlo Strozzi folosesc termenul NoSQL pentru ușor, open-source de baze de date relaționale
    • baze de date NoSQL nu urmeze modelul relațional este fie schema-free sau a relaxat scheme
    • Patru tipuri de baze de Date NoSQL sunt 1).Cheie-valoare bazată pe pereche 2).Grafic orientat pe coloană 3). Grafice bazate pe 4).,Document-oriented
    • NOSQL poate manipula date structurate, semi-structurate și nestructurate cu efect egal
    • cap teorema este format din trei cuvinte consistență, disponibilitate, și toleranță partiție
    • bază standuri pentru practic disponibile, stare moale, eventuala consistență
    • termenul „eventuala coerență” înseamnă a avea copii ale datelor pe mai multe mașini pentru a obține disponibilitate ridicată și scalabilitate
    • NOSQL