Inhoudsopgave:
Video: Web Programming - Computer Science for Business Leaders 2016 2024
te volgen Hoewel sommige functies vrij gebruikelijk zijn voor NoSQL-databases (bijvoorbeeld schema-agnostiek en niet-relationele structuur)), is het niet ongebruikelijk dat een database een of meer van de volgende functies mist en toch kwalificeert als een moderne NoSQL-database.
Open source
NoSQL-software is uniek omdat de open-source beweging de ontwikkeling heeft aangestuurd in plaats van een reeks commerciële bedrijven te volgen. U kunt daarom een groot aantal open source NoSQL-producten vinden voor elke behoefte. Wanneer ontwikkelaars geen NoSQL-database voor hun behoeften konden vinden, hebben ze er een gemaakt en deze in eerste instantie als open-source gepubliceerd.
De meerderheid van de populaire NoSQL-oplossingen wordt gedreven door commerciële bedrijven, waarbij de open-sourcevariant de belangrijkste functies mist die nodig zijn voor bedrijfskritisch gebruik in grote ondernemingen.
Het verschil tussen open-source NoSQL-leveranciers en deze volledig commerciële bedrijven is dat open-sourceverkopers een bedrijfsmodel hebben dat vergelijkbaar is met het Red Hat-model. Kort gezegd geven ze een open source-product vrij en verkopen ze ook bedrijfs-add-onfuncties, ondersteuning en implementatieservices.
Dit is geen slechte zaak! Het is echter vermeldenswaard dat mensen bij NoSQL niet puur, of zelfs hoofdzakelijk, worden gedreven door open-sourceontwikkelaars die in hun vrije tijd werken - in plaats daarvan werken ze voor de commerciële bedrijven achter de producten.
Koper let op! Als het gaat om het selecteren van een NoSQL-database, onthoud dan de "total cost of ownership". "Veel organisaties hebben alleen open source-producten gekocht om te ontdekken dat ze een duur abonnement nodig hebben om de functies te krijgen die ze willen.
BASE versus ACID
Vóór 2014 bevatte de meerderheid van de NoSQL-definities geen ondersteuning voor ACID-transacties als een bepalende functie van NoSQL-databases. Dit is niet langer waar.
ACID-compatibele transactie betekent dat de database zo is ontworpen dat er absoluut geen gegevens verloren gaan:
-
Elke bewerking verplaatst de database van de ene geldige status naar de andere ( A tomic).
-
Iedereen heeft op elk moment hetzelfde zicht op de gegevens ( C onsistent).
-
Bewerkingen in de database interfereren niet met elkaar ( I solatie).
-
Wanneer een database zegt dat het gegevens heeft opgeslagen, weet u dat de gegevens veilig zijn ( D urable).
Niet veel NoSQL-databases hebben ACID-transacties. Uitzonderingen op die norm zijn FoundationDB, Neo4j en MarkLogic Server, die wel volledig serialiseerbare ACID-transacties aanbieden.
Dus waarom is ACID-compliance een niet-zo-gemeenschappelijke functie?Toen het Oracle RDBMS werd uitgebracht, leverde het ook geen ACID-conformiteit op. Het duurde zeven versies voordat ACID-compliance werd ondersteund voor meerdere database-updates en -tabellen.
Evenzo, als je kijkt naar de routekaarten van alle NoSQL-databases, zie je dat ze allemaal verwijzen naar werken aan transactionele consistentie. MongoDB bijvoorbeeld, haalde in het najaar van 2013 $ 150 miljoen op, specifiek om deze en andere zakelijke problemen aan te pakken. MongoDB heeft een nieuwe ACID-compatibele opslaglocatie aangekondigd. Het ACID versus BASE-debat is interessant.