Document Databases in een Big Data Environment

U vindt twee soorten document databases voor big data-projecten. Men wordt vaak omschreven als een opslagplaats voor volledige document-stijl content. De andere is een database voor het opslaan documentcomponenten voor permanente opslag als een statische entiteit of dynamische montage van de delen van een document. De structuur van de documenten en hun onderdelen wordt geleverd door JavaScript Object Notation (JSON) en / of Binary JSON (BSON).

Document databases zijn het meest handig als je moet veel rapporten te produceren en ze moeten dynamisch worden samengesteld uit elementen die vaak veranderen.

In de kern, JSON is een data-uitwisselingsformaat, op basis van een subset van de JavaScript-programmeertaal. Hoewel een deel van een programmeertaal, is het tekstueel van aard en zeer gemakkelijk te lezen en te schrijven. Het heeft ook het voordeel dat het gemakkelijk voor computers te hanteren. Twee fundamentele structuren aanwezig JSON, en ze worden ondersteund door veel, zo niet alle, moderne programmeertalen.

De eerste basisstructuur is een verzameling van naam / waarde paren, en ze zijn programmatisch vertegenwoordigd als objecten, records, ingetoetst lijsten, en ga zo maar door. De tweede basisstructuur is een geordende lijst van waarden, en ze zijn programmatisch voorgesteld als arrays, lijsten, of sequenties. BSON is een binaire rangschikking van JSON structuren ontworpen om de prestaties en schaalbaarheid te vergroten.

MongoDB voor big data

MongoDB is de projectnaam voor de "hu (mongo) ons gegevensbestand" systeem. Het wordt onderhouden door een bedrijf genaamd 10gen als open source en is vrij beschikbaar onder de GNU AGPL v3.0 licentie. Commerciële licenties met volledige ondersteuning zijn beschikbaar vanaf 10gen.

MongoDB is samengesteld uit databases met "collecties." Een verzameling is samengesteld uit "documenten", en elk document bestaat uit velden. Net als in relationele databases, kunt u index een verzameling.

Wel doet, verhoogt de prestaties van data opzoeken. In tegenstelling tot andere databases echter MongoDB retourneert een zogenaamde "cursor" die dient als een pointer naar de data. Dit is een zeer nuttige mogelijkheid omdat het de mogelijkheid tel- en classificeren van de gegevens zonder extraheren. Native, MongoDB ondersteunt BSON, de binaire implementatie van JSON-documenten.

MongoDB is ook een ecosysteem dat bestaat uit de volgende elementen:

  • Hoge beschikbaarheid en replicatie diensten voor het schalen tegenover lokale en wide-area netwerken.
  • Een grid-gebaseerde bestandssysteem, waardoor de opslag van grote objecten door ze onder te verdelen over meerdere documenten.
  • MapReduce om analytics en aggregatie van de verschillende collecties / documenten te ondersteunen.
  • Een sharding dienst die een enkele database verdeelt over een cluster van servers in een enkele of meerdere datacenters. De dienst wordt aangedreven door een scherf sleutel. De scherf sleutel wordt gebruikt om documenten op intelligente wijze te verdelen over meerdere exemplaren.
  • Een bevraging dienst die ad hoc queries, gedistribueerde query's en full-text search ondersteunt.

Effectieve MongoDB implementaties bevatten

  • High-volume content management
  • Sociaal netwerken
  • Archivering
  • Real-time analytics

CouchDB voor big data

Een andere zeer populaire niet-relationele database CouchDB. Zoals MongoDB, CouchDB is open source. Het wordt onderhouden door de Apache Software Foundation en wordt onder de Apache License v2.0 beschikbaar gesteld. Unlike MongoDB werd CouchDB om de web bootsen in alle opzichten.

Bijvoorbeeld, CouchDB is veerkrachtig om te netwerken dropouts en zal blijven prachtig opereren in gebieden waar netwerkconnectiviteit is vlekkerig. Het is ook thuis op een smartphone of in een datacenter. Dit alles komt met een paar trade-offs. Vanwege de onderliggende web mimiek, CouchDB is een hoge latency wat resulteert in een voorkeur voor lokale gegevensopslag.

CouchDB is niet goed geschikt voor kleinere implementaties. U moet bepalen of deze afwegingen kan worden genegeerd als je begint je big data implementatie.

CouchDB gegevensbanken bestaan ​​documenten bestaande uit velden en bijlagen alsook een "beschrijving" van het document in de vorm van metadata die automatisch wordt bijgehouden door het systeem. De onderliggende technologie is voorzien van alle ACID mogelijkheden. Het voordeel CouchDB boven relationele is dat de data wordt verpakt en klaar voor bewerking of opslag plaats verspreid over rijen en tabellen.

CouchDB is ook een ecosysteem met de volgende mogelijkheden:

  • Verdichting: De databases worden gecomprimeerd om verspilde ruimte elimineren wanneer een bepaald leegte is bereikt. Dit helpt prestaties en efficiëntie voor persistentie.
  • Bekijk model: een mechanisme voor het filteren, het organiseren, en het rapporteren over de gegevens met behulp van een set van definities die zijn opgeslagen als documenten in de database. U vindt een één-op-veel-relatie van databases om van gedachten, dus je kunt veel verschillende manieren om die de gegevens die u hebt te maken "gesneden en in blokjes gesneden."
  • Replicatie en gedistribueerde diensten: Document opslag is ontworpen om bidirectionele replicatie bieden. Gedeeltelijke replica kan worden gehandhaafd op criteria gebaseerde distributie of migratie naar apparaten met beperkte connectiviteit ondersteunen. Inheemse replicatie is peer-basis, maar je kunt Master / Slave, Master / Master, en andere vormen van replicatie modaliteiten te implementeren.

Effectieve CouchDB implementaties bevatten

  • High-volume content management
  • Schalen van smartphone tot datacenter
  • Toepassingen met een beperkte of langzaam netwerkconnectiviteit

© 2019 Quilcedacarvers.com | Contact us: webmaster# quilcedacarvers.com