Big Data Management and NoSQL Solutions PDF
Document Details
Uploaded by FaultlessDidgeridoo
Universiteit Gent
Tags
Summary
This document provides an overview of big data management and NoSQL solutions. It explains the four Vs of big data: volume, variety, velocity, and veracity, and how they pose challenges for traditional database systems. NoSQL databases are presented as a solution for handling the diversity and quantity of big data. The document further explores considerations for addressing the challenges of data volume, variety, and velocity.
Full Transcript
BEHEER VAN BIG DATA EN NO-SQL-OPLOSSINGEN NoSQL-databasesystemen zijn geen vervanging van conventionele databasesystemen maar worden complementair gebruikt. BIG DATA Niet-traditionele data: social mediadata, sensordata, klikgedrag,… Kunnen ook zeer waardevolle informatie, inzichten en kennis ople...
BEHEER VAN BIG DATA EN NO-SQL-OPLOSSINGEN NoSQL-databasesystemen zijn geen vervanging van conventionele databasesystemen maar worden complementair gebruikt. BIG DATA Niet-traditionele data: social mediadata, sensordata, klikgedrag,… Kunnen ook zeer waardevolle informatie, inzichten en kennis opleveren. DB- en DW-technieken volstaan niet. Big data: wanneer conventionele (database)systemen niet volstaan om een karakteristiek zeer grote datacollectie doeltreffend te beheren en te verwerken. Met als oorzaak de 4 V’s. DE VIER V’S VAN BIG DATA Volume § Gigantische datavolumes § Dit hoofdkenmerk is het meest voorkomende § Vandaar “big” data § Bijv.: Machine-gegenereerde data (IoT, sensordata,... bijv. vliegtuigmotor:10GB/s) Data afkomstig van smartphones (lokalisatie,...) Input van grote aantallen gebruikers (Facebook, Twitter, clickstreams,...) Omvangrijke data (multimedia...) Alle sterk groeiend in aantal Variëteit (Variety) zeer grote variëteit aan dataformaten: § data steeds weer anders of juist niet gestructureerd § zeer moeilijk, zo niet onmogelijk, om er een vast databaseschema voor op te stellen § “heterogene of gevarieerde data” § Typische voorbeelden : Vrije invoervelden Tekst in natuurlijke taal Het inzetten van verschillende soorten sensors Multimedia à Uitdaging groter dan de volumeproblematiek Snelheid (Velocity) Snelheidsvereisten bij de registratie van de data § Acquisitie-snelheid: hoog debiet aan data-input § Tijdigheid: de registratie van een gegeven moet snel genoeg verlopen (bepaalde real time toepassingen zijn slechts zinvol indien ze binnen een redelijke tijd kunnen gerealiseerd worden) Beperkingen op acquisitiesnelheid en tijdigheid van de data = fast data Vb. § trajectcontrolesysteem op een snelweg § analyse van datastromen van sociale media § het onmiddellijk detecteren van fraude bij creditcardgebruik 46 Waarheidsgetrouwheid ( Veracity) Gevoelig voor slechte datakwaliteit = bad data à Systeem zou aan de gebruiker op zijn minst meegegeven hoe betrouwbaar de data is § Kan niet met conventioneel databasesysteem worden gecontroleerd § Slechte datakwaliteit is vaak te wijten aan onnauwkeurigheid, vaagheid, onzekerheid, onvolledigheid of inconsistentie § hebben de neiging om een sneeuwbaleffect te veroorzaken § vb. Foutieve gebruikersinvoer Redundante gegevens Corrupte data à Misschien wel het moeilijkste probleem met 'big‘ data. UITDAGINGEN BIJ HET BEHEER VAN BIG DATA In een grote collectie van niet-traditionele data zit vermoedelijk nuttige informatie verborgen, maar... Uitdaging: § Doelstelling: een duidelijk beeld ontwikkelen van wat je met deze data wil bereiken § Identificatie van de data die daarvoor waardevol is Andere optie: Data lake Ga je toch data verzamelen zonder vooropgesteld doel, dan creëer je een “data lake”, waarin je data accumuleert om pas later te beslissen welke analyses je erop zal uitvoeren. De uitdaging bij big data is waardevolle data identificeren, extraheren en transformeren voor verdere analyse. Bv. Niet nodig om alle Twitter berichten op te slaan, men gaat filteren op woorden en concepten. Om big data te benutten ga je de IT-infrastructuur moeten aanpassen om de 4 V’s te kunnen behandelen OPLOSSINGEN VOOR HET BEHEER VAN BIG DATA Not only SQL-of NoSQL-databasesysteem is een databasesysteem dat minstens een oplossing biedt voor het volumeprobleem, variëteitsprobleem, snelheidsprobleem of waarheidsgetrouwheidsprobleem. OPLOSSINGEN VOOR HET VOLUMEPROBLEEM De opslagruimte van een dbms vergroten kan op 2 manieren: § verticaal schalen: traditionele manier voor grote volumes data meer secundair geheugen door bv. extra magneetschijven à feitelijk geen big dataprobleem § horizontaal schalen gedistribueerde dataopslag waarbij meerdere hardwareknopen met secundair geheugen via een netwerk ter beschikking worden gesteld. Hier voegt men extra, goedkopere knopen toe aan het netwerk. Het ontwerp van een NoSQL zorgt dat je gemakkelijk knopen kan toevoegen of verwijderen. 47 OPLOSSINGEN VOOR HET VARIËTEITSPROBLEEM Ongestructureerde of semi-gestructureerde data, ofwel veel databaserecords die een verschillende structuur hebben. Conventionele systemen: § Dwingen de data in vaste structuur (tabel, klasse,...) § Tijdrovende omzettingen NoSQL: schemaloze database § Data worden daarin opgeslagen zoals ze zijn, zonder enige voorafgaande omzetting: Acquisitie werkt veel sneller § Beperkte zoekfaciliteiten in dbms § dbms is compacter, applicatie is complexer § Verantwoordelijkheden verschoven van dbms naar applicatie: Complexe zoekinstructies Correcte interpretatie van data Data-integriteit § Dbms is afgestemd op het efficiënt uitvoeren van specifieke (zoek)operaties: leunt daarom aan bij het operationeel databasemodel (zoals hiërarchisch en netwerkmodel) OPLOSSINGEN VOOR HET SNELHEIDSPROBLEEM Conventionele database moet ACID-eigenschappen garanderen: § Atomair (Atomic) § Consistent (Consistent) § Geïsoleerd (Isolated) § Duurzaam (Durable) à tijdsverlies ACID § Atomair. Het dbms moet garanderen dat bewerkingen atomair worden uitgevoerd. Dit wil zeggen dat elke bewerking ofwel volledig wordt uitgevoerd, ofwel helemaal niet wordt uitgevoerd. Deze eigenschap noemen we de 'alles of niets-eigenschap'. (*) § Consistent. Het dbms moet de consistentie van de data waarborgen. Dat wil zeggen dat de data steeds in overeenstemming moeten zijn met de bedrijfsregels die van toepassing zijn. Als een bewerking de database wijzigt, moet ze de database omzetten van de ene consistente toestand naar een andere consistente toestand. Het dbms moet garanderen dat de uitvoering van instructies niet kan leiden tot inconsistentie. § Isolatie. Het dbms moet garanderen dat bewerkingen geïsoleerd van elkaar worden uitgevoerd. Wanneer meerdere bewerkingen terzelfdertijd worden uitgevoerd, mag de uitvoering van een bewerking geen verstoring of beïnvloeding geven voor de uitvoering van de andere bewerkingen. § Duurzaam. De resultaten van een succesvol uitgevoerde bewerking moeten permanent geregistreerd zijn in de database. Het dbms moet garanderen dat deze resultaten niet verloren kunnen gaan, ook bij een falen van het databasesysteem, zelfs al gebeurt dit falen onmiddellijk na het beëindigen van de bewerking. No-ACID-systemen § risico op inconsistente data, opgeofferd voor snellere uitvoeringstijden § verantwoordelijkheid voor integriteit verschoven van database naar applicatie § extra verwerkingstijd aan validatie in applicatie, maar wordt uitgesteld naar beter geschikt moment 48 CAP-Theorema § Consistentie: voor en na datamanipulatie moet data consistent zijn. § Availability: je kan steeds verder werken aan de database. Als een soft- of hardwarecomponent uitvalt, moet de dbms dat kunnen opvangen en voortwerken met replica’s. § Partitietolerantie: het dbms moet verder kunnen werken bij partitionering van het communicatienetwerk. Bv een tijdelijke toevoeging of verwijdering van een knoop voor onderhoud. CAP-theorema: een gedistribueerd databasesysteem kan maar ten hoogste twee van de drie eigenschappen consistentie, beschikbaarheid en partitietolerantie garanderen. De drie samen garanderen is dus onmogelijk. Bij een NoSQL-databasesysteem gaat men uit van gedistribueerde opslag. Men kan niet garanderen dat het netwerk niet faalt dus zal men voor partitietoleratie opteren. De resterende keuze zijn: § Consistentie/partitietolerantie (CP): ACID-eigenschappen zijn nodig à trager met foutboodschappen § Beschikbaarheid/partitietolerantie (AP): sneller, maar kan niet garanderen dat data actueel en correct zijn Bij AP worden BASE-eigenschappen toegedicht i.p.v. ACID-eigenschappen § Basic availability: de beschikbaarheid van de data weegt zwaarder dan consistentie § Soft-state: database zal niet altijd consistent zijn, validatie gebeurt pas later in de applicatie en door datadistributie kan het voorkomen dat de aanpassingen niet direct doorgevoerd worden en zichtbaar zijn in elke replica. § Eventual consistency: Na verloop van tijd zal de validatie plaatsvinden en aangepast worden in de replica’s. Theoretisch zal de database dus ergens in de toekomst consistent zijn. Snellere werking (want BASE is eenvoudiger dan ACID) Altijd beschikbaar, maar (kleine?) kans op niet-consistente respons (=”optimistische aanpak”) Voor foutgevoelige toepassingen: AP is niet geschikt; CP noodzakelijk OPLOSSINGEN VOOR HET WAARHEIDSGETROUWHEIDSPROBLEEM Moeilijkste om op te lossen Datakwaliteitsmodellering en datakwaliteitsverbetering Belangrijke aspecten: § Schatten en modelleren van datakwaliteit § Foutdetectie en foutbehandeling § Duplicaatdetectie en het samenvoegen van duplicaten TYPES VAN NOSQL-DATABASES 1. key-value-databases 2. documentdatabases 3. kolomgeoriënteerde databases 49