Innehållsförteckning:
Video: NoSQL Database Tutorial | Types of NoSQL Databases in Terms of Storage | Big Data Tutorial 2025
Du hittar två typer av dokumentdatabaser för stora dataprojekt. En beskrivs ofta som ett förråd för fullständigt dokumentformatinnehåll. Den andra är en databas för lagring av dokumentkomponenter för permanent lagring som en statisk enhet eller för dynamisk montering av delar av ett dokument. Dokumentets struktur och deras delar tillhandahålls av JavaScript Object Notation (JSON) och / eller Binary JSON (BSON).
Dokumentdatabaser är mest användbara när du måste producera många rapporter och de måste dynamiskt monteras från element som ändras ofta.
JSON är ett data-utbytesformat baserat på en delmängd av JavaScript-programmeringsspråket. Även om en del av ett programmeringsspråk är textual i naturen och väldigt lätt att läsa och skriva. Det har också fördelen att det är enkelt för datorer att hantera. Två grundläggande strukturer finns i JSON, och de stöds av många, om inte alla, moderna programmeringsspråk.
Den första grundläggande strukturen är en samling av namn / värdepar och de representeras programmatiskt som objekt, poster, nyckellistor och så vidare. Den andra grundläggande strukturen är en ordnad värdeslista, och de representeras programmatiskt som arrays, listor eller sekvenser. BSON är en binär serialisering av JSON-strukturer avsedda att öka prestanda och skalbarhet.
MongoDB för stora data
MongoDB är projektnamnet för "hu (mongo) us database" -systemet. Det underhålls av ett företag som heter 10gen som öppen källkod och är ledigt tillgänglig under GNU AGPL v3. 0 licens. Kommersiella licenser med fullt stöd är tillgängliga från 10gen.
MongoDB består av databaser som innehåller "samlingar. "En samling består av" dokument "och varje dokument består av fält. Precis som i relationsdatabaser kan du indexera en samling.
Om du gör så ökar resultatet av datasökning. Till skillnad från andra databaser returnerar MongoDB emellertid något som kallas en "markör", som fungerar som en pekare på data. Det här är en mycket användbar förmåga eftersom det ger möjlighet att räkna eller klassificera data utan att extrahera det. MongoDB stöder inbyggt BSON, den binära implementeringen av JSON-dokument.
MongoDB är också ett ekosystem som består av följande element:
-
Hög tillgänglighet och replikeringstjänster för skalering över lokala och breda nät.
-
Ett nätbaserat filsystem som gör det möjligt att lagra stora objekt genom att dela dem mellan flera dokument.
-
MapReduce för att stödja analyser och aggregering av olika samlingar / dokument.
-
En sharding-tjänst som distribuerar en enda databas över ett kluster av servrar i en enda eller flera datacenter. Tjänsten drivs av en shard-nyckel. Shard-tangenten används för att distribuera dokument intelligent över flera instanser.
-
En frågande tjänst som stöder ad hoc-frågor, distribuerade frågor och fullständig textsökning.
Effektiva MongoDB-implementeringar inkluderar
-
Hantering av hög volym
-
Socialt nätverkande
-
Arkivering
-
Realtidsanalyser
CouchDB för stora data
En annan mycket populär icke-relationell databas är CouchDB. Liksom MongoDB är CouchDB öppen källkod. Den underhålls av Apache Software Foundation och görs tillgänglig under Apache License v2. 0. Till skillnad från MongoDB, var CouchDB utformad för att efterlikna webben i alla avseenden.
CouchDB är till exempel fjädrande för nätverksavbrott och kommer att fortsätta att fungera vackert i områden där nätverksanslutningen är spottig. Det är också hemma på en smartphone eller i ett datacenter. Allt detta kommer med några kompromisser. På grund av den underliggande webbmimiken är CouchDB hög latens vilket resulterar i en preferens för lokal datalagring.
CouchDB är inte väl lämpad för mindre implementeringar. Du måste avgöra om dessa avvägningar kan ignoreras när du börjar din stora dataimplementering.
CouchDB-databaser består av dokument som består av fält och bilagor samt en "beskrivning" av dokumentet i form av metadata som automatiskt underhålls av systemet. Den underliggande tekniken har alla ACID-funktioner. Fördelen i CouchDB över relationell är att data är förpackad och redo för manipulation eller lagring snarare än spridda över rader och tabeller.
CouchDB är också ett ekosystem med följande egenskaper:
-
Komprimering: Databaserna komprimeras för att eliminera bortkastat utrymme när en viss tomhet uppnås. Detta hjälper prestanda och effektivitet för uthållighet.
-
Visa modell: En mekanism för filtrering, organisering och rapportering av data som använder en uppsättning definitioner som lagras som dokument i databasen. Du hittar en en till många relationer med databaser till synpunkter, så att du kan skapa många olika sätt att representera de data du har "skivad och tärnad. "
-
Replikering och distribuerade tjänster: Dokumentlagring är utformad för att tillhandahålla dubbelriktad replikering. Delvisa replikor kan bibehållas för att stödja kriteriebaserad distribution eller migrering till enheter med begränsad anslutning. Native replikering är peer-baserad, men du kan implementera Master / Slave, Master / Master och andra typer av replikationsmodaliteter.
Effektiva CouchDB-implementeringar inkluderar
-
Hantering av hög volymhantering
-
Skalning från smartphone till datacenter
-
Program med begränsad eller långsam nätverksanslutning
