Cuprins:
- Nu este nevoie să scrieți SQL
- Nu trebuie să petreacă luni proiectarea schemei
- Mai puțin cod de transformare a datelor (ETL)
- Mai ușor de menținut codul
- Executați codul aproape de date pentru cea mai bună performanță
- O mulțime de opțiuni cu sursă deschisă
- Ușor de scalare
- Modelul eventual de date de consistență
- Suport pentru limbajul ezoteric
- JavaScript end-to-end
Video: How to Make an Attractive City 2024
Popularitatea bazelor de date NoSQL rezultă din numărul mare de dezvoltatori care sunt încântați să le folosească. Dezvoltatorii văd NoSQL ca o tehnologie care permite și eliberează. Spre deosebire de abordarea tradițională relațională, NoSQL vă oferă o modalitate de a lucra cu date mai apropiate de aplicație decât modelul relațional de date.
Dezvoltatorii adoptă tehnologii NoSQL din mai multe motive, dintre care unele sunt evidențiate aici:
Nu este nevoie să scrieți SQL
Scrierea limbajului de interogare structurat (SQL) - și o face bine - este bâta de existența multor dezvoltatori de întreprinderi. Această durere se datorează faptului că scrierea de interogări foarte complexe, cu multiple conexiuni între mesele conexe, nu este ușor de făcut. În plus, în lumina schimbărilor obișnuite ale bazei de date în timp, menținerea codului de interogare complex este un loc de muncă în sine.
Dezvoltatorii de întreprinderi au inventat o serie de modalități de evitare a scrierii SQL. Una dintre cele mai populare moduri este prin utilizarea bibliotecii Object-Relational Mapping (ORM), Hibernate. Hibernate ia un fișier de configurare și una sau mai multe obiecte și abstracte departe SQL-ul urât, astfel încât dezvoltatorii nu trebuie să-l folosească. Acest lucru vine la un cost în termeni de performanță, desigur, și nu rezolvă toate cazurile de utilizare interogare. Uneori trebuie să te întorci la SQL.
Bazele de date NoSQL oferă propriile limbi de interogare, care sunt reglate cu modul în care datele sunt gestionate de baza de date și cu operațiile pe care dezvoltatorii le efectuează cel mai adesea. Această abordare oferă un mecanism de interogare mai simplu decât instrucțiunile SQL imbricate.
Unele baze de date NoSQL oferă, de asemenea, o interfață SQL pentru interogarea bazelor de date NoSQL, în cazul în care dezvoltatorii nu pot rupe obiceiul SQL!
Nu trebuie să petreacă luni proiectarea schemei
Schema agnosticism în bazele de date NoSQL vă permite să încărcați rapid datele fără a trebui să creați o schemă relațională pe o perioadă de luni. Nu trebuie să analizați în față fiecare element de date pe care trebuie să-l stocați în NoSQL, așa cum faceți cu un RDBMS.
Mai puțin cod de transformare a datelor (ETL)
O problemă obișnuită cu bazele de date relaționale care rezultă din faptul că aveți o schemă inițială a schemei este că trebuie să forțați datele nerelaționalizate în rânduri și coloane. Acest mecanism de distrugere, împreună cu alte metode de cod care preprocesează informații pentru stocare și post-procesare pentru recuperare, sunt denumite extract, transformare și încărcare (ETL) .
Acest cod îi obligă pe dezvoltatori să-și ia modelele frumoase de obiecte lucioase și documente și să scrie coduri pentru a stoca fiecare ultim element. A face acest lucru este urât și, de asemenea, duce la dezvoltatorii de înaltă calificare scrierea de coduri sanitare performante și neinteresante.
Bazele de date NoSQL vă permit să păstrați structurile de date stocate mult mai aproape de forma lor originală. Datele care circulă între sisteme sunt de obicei într-un format XML, în timp ce în cazul aplicațiilor web, datele sunt formatate într-un document JSON. Fiind capabil să stocheze, să gestioneze și să caute JSON este un avantaj imens pentru dezvoltatorii de aplicații.
Mai ușor de menținut codul
Tot codul pe care îl scrieți trebuie să fie menținut. Prin păstrarea structurilor bazei de date în apropierea formatelor de date ale codului aplicației, reduceți la minimum cantitatea de cod, ceea ce la rândul său minimizează menținerea testelor de cod și de regresie pe care trebuie să le faceți în timp.
Când structurile de date se modifică pe un RDBMS, trebuie să examinați tot codul SQL care poate utiliza tabelele modificate. În NoSQL, pur și simplu adăugați suport pentru elementele noi sau pur și simplu ignorați-le! Mult mai ușor de întreținut, datorită naturii schema-agnostice a bazelor de date NoSQL.
Executați codul aproape de date pentru cea mai bună performanță
Un RDBMS oferă proceduri stocate pentru executarea unui cod pe un server de bază de date. Acest cod este executat într-un singur loc. Această abordare utilă este baza multor aplicații analitice și complexe de gestionare a datelor.
Multe baze de date NoSQL permit ca acest tip de cod să fie distribuit pe toate serverele care stochează date relevante, ceea ce permite o mai mare paralelizare a volumului de lucru. Această abordare este deosebit de importantă pentru ingerările mari de date care necesită prelucrare și pentru analiza complexă de agregare la momentul interogării.
Funcțiile definite de utilizator (UDF-uri) și scripting-urile de pe server într-o varietate de baze de date NoSQL oferă această capacitate distribuită. UDF-urile sunt similare cu capacitatea Hadoop MapReduce, cu excepția faptului că UDF-urile se pot întâmpla în timp real, mai degrabă decât în modul în lot, și nu necesită aceleași cheltuieli în infrastructura pe care Hadoop plus o bază de date le-ar cere.
O mulțime de opțiuni cu sursă deschisă
În multe domenii de software pentru întreprinderi, alegerea unei soluții solide open source lipsește. Pot exista doar una sau două opțiuni răspândite. Disponibilitatea abilităților și sprijinul local în interiorul țării este chiar mai mare.
Cu toate acestea, există o multitudine de baze de date open source cu NoSQL. Multe dintre acestea au companii comerciale cu drepturi depline, care oferă sprijin și au birouri la nivel global. Deci, dacă aveți nevoie de suport sau mai multe caracteristici, puteți trece la aceste versiuni în cele din urmă.
Acest lucru reduce costul de adoptare a tehnologiei NoSQL și vă permite să încercați înainte de a cumpăra. "Această disponibilitate a alternativelor open-source a determinat companiile comerciale din spațiul NoSQL să ofere versiuni gratuite, dar bine prezentate ale software-ului lor sau să ofere licențe speciale de pornire organizațiilor mici.
Ușor de scalare
Nu este nevoie să obțineți un DBA costisitor pentru a petrece zile de refăcognire SQL și a crea vizualizări materializate pentru a realiza fiecare centimetru de performanță din sistemele NoSQL.
Magazinele cu valoare cheie pot gestiona sute de mii de operații pe server. Toate tipurile de NoSQL pot scala orizontal pe servere relativ ieftine de marfă.Deci, este mult mai ușor să scalați cluster-ul bazei de date cu NoSQL decât cu bazele de date tradiționale relaționale.
În plus, datorită capacității lor de a scala, bazele de date NoSQL se potrivesc, de asemenea, bine în norii publici și privați. Bazele de date NoSQL sunt concepute astfel încât să fie flexibile și să se extindă și să contracteze pe măsură ce utilizările pentru schimbarea aplicației dvs. se modifică. Această capacitate este deseori numită elasticitate .
Modelul eventual de date de consistență
Deși cazurile critice de misiune necesită respectarea ACID, nu toate aplicațiile trebuie să facă acest lucru. Capacitatea de relaxare a consistenței în grupuri foarte mari poate fi utilă pentru unele aplicații.
Bazele de date NoSQL vă permit să vă relaxați aceste constrângeri sau să combinați și să se potrivească coerenței puternice și coerenței slabe în aceeași bază de date, pentru diferite tipuri de înregistrări.
Suport pentru limbajul ezoteric
Destul de mult toate bazele de date acceptă principalele limbi de programare precum Java și C #. NET. Multe baze de date acceptă PHP, Python și Ruby on Rails.
NoSQL are un set înfloritor de drivere pentru o gamă mai largă de limbi de programare. Dacă organizația dvs. are un limbaj specific domeniului, este posibil să găsiți suport pentru aceasta într-o bază de date NoSQL.
JavaScript end-to-end
Utilizarea JavaScript a explodat în ultimii ani. Este un limbaj de scripting convenabil atât pe web, cât și datorită nodului. js, pe partea de server.
Multe baze de date NoSQL suportă acum dezvoltarea completă a JavaScript-ului. Aceasta înseamnă că organizația dvs. poate folosi acum același grup de abilități de limbaj de programare pentru a aplica aplicații web și API-uri de date medii și logică de afaceri, precum și pentru a gestiona declanșatoarele bazei de date back-end și prelucrarea analitică bazată pe MapReduce lângă date.
Prin urmare, în comparație cu alte tehnologii baze de date, costul total al proprietății (TCO) al NoSQL este mai mic.