Indholdsfortegnelse:
Video: Web Programming - Computer Science for Business Leaders 2016 2025
Selv om nogle funktioner er ret almindelige for NoSQL-databaser (for eksempel skema agnosticisme og ikke-relationel struktur), er det ikke ualmindeligt, at en database mangler et eller flere af følgende funktioner og stadig kvalificerer som en moderne NoSQL-database.
Open-source
NoSQL-software er unik, fordi open source-bevægelsen har drevet udvikling frem for at følge et sæt kommercielle virksomheder. Du kan derfor finde et væld af open source NoSQL produkter, der passer til ethvert behov. Når udviklere ikke kunne finde en NoSQL database til deres behov, skabte de en, og offentliggjorde den oprindeligt som open source.
Størstedelen af de populære NoSQL-løsninger er drevet af kommercielle virksomheder, idet open source-varianten mangler de vigtigste funktioner, der kræves til missionskritisk brug i store virksomheder.
Forskellen mellem open-source NoSQL-leverandører og disse helt kommercielle virksomheder er, at open source-leverandører har en forretningsmodel svarende til Red Hat-modellen. I grund og grund frigiver de et open source-produkt og sælger også virksomhedens add-on-funktioner, support og implementeringstjenester.
Dette er ikke en dårlig ting! Det er dog værd at bemærke, at folk på NoSQL ikke drives udelukkende, eller endog primært af open source-udviklere, der arbejder i deres fritid - i stedet arbejder de for de kommercielle virksomheder bag produkterne.
Køber pas på! Når det kommer til at vælge en NoSQL database, husk "samlede ejeromkostninger. "Mange organisationer har kun købt open source-produkter for at finde ud af, at de har brug for et prissat abonnement for at få de funktioner, de ønsker.
BASE versus ACID
Foruden 2014 indeholdt de fleste NoSQL-definitioner ikke ACID-transaktionsunderstøttelse som et definerende træk ved NoSQL-databaser. Dette er ikke længere sandt.
ACID-kompatibel transaktion betyder, at databasen er designet, så det absolut ikke vil miste data:
-
Hver operation flytter databasen fra en gyldig tilstand til en anden ( A tomic).
-
Alle har samme oversigt over dataene til enhver tid ( C usistent).
-
Operationer i databasen forstyrrer ikke hinanden ( I solation).
-
Når en database siger, at den har gemt data, ved du, at dataene er sikre ( D urable).
Ikke mange NoSQL-databaser har ACID-transaktioner. Undtagelser fra denne norm er FoundationDB, Neo4j og MarkLogic Server, som giver fuld serialiserbare ACID-transaktioner.
Så hvorfor er ACID-overholdelse en ikke så almindelig funktion?Da Oracle RDBMS blev frigivet, leverede den heller ikke ACID-overholdelse. Det tog syv versioner, før ACID-overholdelse blev understøttet på tværs af flere databaseopdateringer og tabeller.
På samme måde, hvis du kigger på køreplanerne for alle NoSQL-databaserne, vil du se, at alle henviser til arbejde med transaktionsmæssig konsistens. MongoDB hævede for eksempel 150 millioner dollars i efteråret 2013 specifikt for at løse dette og andre virksomhedsproblemer. MongoDB har annonceret en ny ACID-kompatibel lagringsmotor. ACID-versus BASE-debatten er en interessant.