Hem Personliga finanser Dokument Databaser i en stor datamiljö - dummies

Dokument Databaser i en stor datamiljö - dummies

Innehållsförteckning:

Video: NoSQL Database Tutorial | Types of NoSQL Databases in Terms of Storage | Big Data Tutorial 2024

Video: NoSQL Database Tutorial | Types of NoSQL Databases in Terms of Storage | Big Data Tutorial 2024
Anonim

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

Dokument Databaser i en stor datamiljö - dummies

Redaktörens val

Hur man lägger till text i en sätter () Funktion i C Programmering

Hur man lägger till text i en sätter () Funktion i C Programmering

När du behöver visa en annan textrad, använd C-programmeringsfärdigheterna för att skapa en annan puts () -funktion i källkoden, som visas i Visa två textlinjer. VISA TILL TEXTFINER # inkludera int main () {sätter ("Hickory, Dickory, Dock,"); sätter ("musen sprang klockan."); returnera (0);} Den andra ...

Förklarar variabler i C-dummies

Förklarar variabler i C-dummies

Variabler är det som gör dina program zooma. Programmering kan bara inte bli gjort utan dem. Så om du inte har introducerats till variabler än, här går du. Valerie Variable är en numerisk variabel. Hon älskar att hålla nummer - vilket nummer som helst; det spelar ingen roll. När hon ser ett lika tecken tar hon ett värde och ...

Redaktörens val

Gör rädsla för din vän - dummies

Gör rädsla för din vän - dummies

Rädsla är lika verklig som mod. Även om värdet av rädsla inte är lika uppenbart som modets värde, har det dess fördelar. Rädsla är din instinkt som säger att du är obehaglig - även om situationen inte kommer att skada dig. Alla har haft den känslan när man hellre drar locket ...

Hur man ökar din självmedvetenhet - dummies

Hur man ökar din självmedvetenhet - dummies

Du kommer att vara med dig själv under en livstid. Ingenting kommer att förändra det faktum. Att lära känna, som att lyssna på och uppskatta själv är avgörande för din sanity. Kanske kommer du till att älska, acceptera och omfamna alla du är, är svår för dig att föreställa dig just nu, men du kan göra ...

Hur man ökar din mentala flexibilitet - dummies

Hur man ökar din mentala flexibilitet - dummies

ÄR flexibel i arbete och relationer är ett tecken på en högpresterande. Medan perfektionister är styva och obehagliga i sitt arbete och hur de interagerar med andra, är högpresterande mer öppna och tillmötesgående. Att vara mer flexibel på jobbet gav Ralph aldrig förslag under brainstorming vid gruppmöten. Han kände att hans lag ...

Redaktörens val

Nätverksadministration: Linux-installation och virtuella konsoler - dummies

Nätverksadministration: Linux-installation och virtuella konsoler - dummies

Linux är i sig ett kommandoradsorienterat operativsystem. Grafiska användargränssnitt - inklusive installationsprogrammets GUI - tillhandahålls av en valfri komponent som heter X Window System. Men medan du arbetar med det grafiska användargränssnittet för installationsprogrammet, håller Linux flera ytterligare kommandorads-konsoler öppna. Normalt behöver du inte ...

Nätverksadministration: Linux-loggning, logg och systemavstängning - dummies

Nätverksadministration: Linux-loggning, logg och systemavstängning - dummies

Alla användare som åtkomst ett Linux-system, lokalt eller över ett nätverk, måste verifieras av ett giltigt användarkonto på systemet. I det följande får du veta hur du loggar in och ut på ett Linux-system och hur du stänger av systemet. Logga in När Linux startar upp visas det ...

Nätverksadministration: Licensserver - Dummies

Nätverksadministration: Licensserver - Dummies

I vissa program kan du köpa nätverkslicenser som gör att du kan installera programvaran på många datorer som du vill, men reglera antalet personer som kan använda programvaran vid en viss tidpunkt. För att styra hur många som använder programvaran, är en särskild licensserver inrättad. När en användare börjar ...