Innehållsförteckning:
Video: Web Programming - Computer Science for Business Leaders 2016 2024
Även om vissa funktioner är ganska vanliga för NoSQL-databaser (till exempel schema agnosticism och icke-relationell struktur) är det inte ovanligt att en databas saknar en eller flera av följande funktioner och fortfarande kvalificerar som en modern NoSQL-databas.
Open-source
NoSQL-programvaran är unik eftersom öppen källkodsrörelse har drivit utveckling snarare än att följa en uppsättning kommersiella företag. Du kan därför hitta en mängd open-source NoSQL-produkter som passar alla behov. När utvecklare inte kunde hitta en NoSQL-databas för deras behov skapade de en, och publicerade den ursprungligen som öppen källkod.
Majoriteten av de populära NoSQL-lösningarna drivs av kommersiella företag, med öppen källvariant som saknar de viktigaste funktionerna för uppdragskritisk användning i stora företag.
Skillnaden mellan öppen källkod NoSQL-leverantörer och dessa helt kommersiella företag är att leverantörer av öppen källkod har en affärsmodell som liknar Red Hat-modellen. I grund och botten släpper de ut en öppen källprodukt och säljer även tilläggsfunktioner, support och implementeringstjänster.
Detta är inte en dålig sak! Det är dock värt att notera att människor på NoSQL inte drivs rent, eller till och med främst av, öppen källkodsutvecklare som arbetar på fritiden - istället arbetar de för de kommersiella företagen bakom produkterna.
Köparen akta dig! När det gäller att välja en NoSQL-databas, kom ihåg "totala ägandekostnaden. "Många organisationer förvärvade endast open source-produkter för att finna att de behöver en prissättning för att få de funktioner de vill ha.
BASE versus ACID
Före 2014 omfattade majoriteten av NoSQL-definitionerna inte ACID-transaktionsstöd som en definierande egenskap hos NoSQL-databaser. Detta är inte längre sant.
ACID-kompatibel transaktion betyder att databasen är utformad så att den absolut inte kommer att förlora data:
-
Varje operation flyttar databasen från ett giltigt till ett annat ( A tomic).
-
Alla har samma syn på data när som helst ( C onsistent).
-
Operationer i databasen stör inte varandra ( I solation).
-
När en databas säger att den har sparat data vet du att data är säkra ( D urable).
Inte många NoSQL-databaser har ACID-transaktioner. Undantag från den normen är FoundationDB, Neo4j och MarkLogic Server, som ger fullständiga serialiserbara ACID-transaktioner.
Så är AC-överensstämmelse en inte så vanlig funktion?När Oracle RDBMS släpptes, gav det inte heller ACID-överensstämmelse. Det tog sju versioner innan ACID-överensstämmelse stöddes över flera databasuppdateringar och tabeller.
På samma sätt, om du tittar på färdplanerna i alla NoSQL-databaser ser du att alla hänvisar till arbetet med transaktionskonsistens. MongoDB, till exempel, höjde 150 miljoner dollar hösten 2013 specifikt för att ta itu med detta och andra företagsproblem. MongoDB har meddelat en ny ACID-kompatibel lagringsmotor. ACID-kontra-BASE-debatten är en intressant.