Cuprins:
Video: Web Programming - Computer Science for Business Leaders 2016 2024
Deși unele caracteristici sunt destul de comune pentru bazele de date NoSQL (de exemplu, agnosticismul schemei și structura non-relațională), nu este neobișnuit ca o bază de date să nu aibă una sau mai multe dintre următoarele caracteristici și să se califice încă drept o bază de date NoSQL modernă.
Open-source
Software-ul NoSQL este unic, deoarece mișcarea open-source a determinat dezvoltarea mai degrabă decât să urmeze un set de companii comerciale. Prin urmare, puteți găsi o serie de produse NoSQL cu sursă deschisă pentru a se potrivi fiecărei nevoi. Când dezvoltatorii nu au putut găsi o bază de date NoSQL pentru nevoile lor, au creat una și au publicat-o inițial ca open-source.
Majoritatea soluțiilor populare NoSQL sunt conduse de companii comerciale, iar varianta open source nu are caracteristicile cheie necesare utilizării critice a misiunii în întreprinderile mari.
Diferența dintre furnizorii open source NoSQL și aceste companii comerciale în întregime este că vânzătorii cu sursă deschisă au un model de afaceri similar modelului Red Hat. În principiu, ei eliberează un produs open-source și, de asemenea, vând funcții suplimentare de business, suport și servicii de implementare.
Acesta nu este un lucru rău! Merită însă remarcat faptul că persoanele din NoSQL nu sunt conduse exclusiv, sau chiar în principal, de dezvoltatorii cu sursă deschisă care lucrează în timpul lor liber - în schimb, aceștia lucrează pentru companiile comerciale din spatele produselor.
Cumparator beware! Când este vorba de selectarea unei baze de date NoSQL, amintiți-vă "costul total al proprietății. "Multe organizații au achiziționat produse cu sursă deschisă doar pentru a afla că au nevoie de un abonament la prețuri ridicate pentru a obține funcțiile pe care le doresc.
BASE versus ACID
Înainte de 2014, majoritatea definițiilor NoSQL nu includ suportul tranzacțiilor ACID ca o caracteristică definitorie a bazelor de date NoSQL. Acest lucru nu mai este adevărat.
Tranzacția care respectă ACID înseamnă că baza de date este proiectată astfel încât să nu piardă deloc date:
-
Fiecare operație mută baza de date dintr-o stare validă în alta ( A tomic).
-
Toată lumea are aceeași imagine a datelor în orice moment ( C onsistent).
-
Operațiile din baza de date nu interferează reciproc ( I solație).
-
Când o bază de date spune că a salvat date, știți că datele sunt sigure ( D urable).
Nu multe baze de date NoSQL au tranzacții ACID. Excepții la această normă sunt FoundationDB, Neo4j și MarkLogic Server, care oferă tranzacții ACID pe deplin serializabile.
De ce este compatibilitatea cu ACID-ul o caracteristică atât de comună?Când a fost lansat RDBMS-ul Oracle, acesta nu a furnizat nici o conformitate cu ACID. Au fost necesare șapte versiuni înainte ca conformitatea cu ACID să fie acceptată în cadrul mai multor actualizări și tabele de baze de date.
În mod similar, dacă vă uitați la foile de parcurs ale tuturor bazelor de date NoSQL, veți vedea că toate acestea se referă la lucrul la coerența tranzacțiilor. MongoDB, de exemplu, a strâns 150 milioane USD în toamna anului 2013, în special pentru a aborda această problemă și alte probleme ale întreprinderii. MongoDB a anunțat un nou motor de stocare compatibil cu ACID. Dezbaterea ACID vs. BASE este una interesantă.