Inhoudsopgave:
- Real-time verwerkingsraamwerken
- Massively Parallel Processing (MPP) -platforms
- Introductie van NoSQL-databases
Video: Why boycotting palm oil is not a solution 2024
Langs Hadoop gekeken, zie je alternatieve big data-oplossingen op de horizon. Deze oplossingen maken het mogelijk om in realtime met big data te werken of om alternatieve databasetechnologieën te gebruiken om deze te verwerken en verwerken. Hier maak je kennis met de real-time verwerkingskaders, vervolgens de Massively Parallel Processing (MPP) -platforms en ten slotte de NoSQL-databases waarmee je met big data buiten de Hadoop-omgeving kunt werken.
U moet op de hoogte zijn van iets dat wordt aangeduid als ACID-conformiteit, afkorting van A tomiciteit, C onachtzaamheid, I solatie, en D urability-compliance. ACID-conformiteit is een standaard waarmee accurate en betrouwbare databasetransacties worden gegarandeerd.
In big data-oplossingen zijn de meeste databasesystemen niet ACID-compatibel, maar dit hoeft niet per se een groot probleem te vormen. Dat komt omdat de meeste big data-systemen Decision Support Systems (DSS) gebruiken die batchgegevens verwerken voordat die gegevens worden uitgelezen. DSS zijn informatiesystemen die worden gebruikt voor ondersteuning bij het nemen van beslissingen door organisaties. Niet-transactionele DSS tonen geen echte ACID-nalevingsvereisten.
Real-time verwerkingsraamwerken
Soms moet u in realtime grote datastreams ondervragen … en u kunt dit soort dingen gewoon niet doen met Hadoop. Gebruik in deze gevallen in plaats daarvan een real-time verwerkingsraamwerk. Een real-time verwerkingsraamwerk is - zoals de naam al aangeeft - een raamwerk dat in staat is om gegevens in realtime (of bijna realtime) te verwerken terwijl die gegevensstromen naar het systeem stromen. In wezen zijn real-time verwerkingsraamwerken de antithese van de batchverwerkingskaders die u ziet geïmplementeerd in Hadoop.
Realtime verwerkingskaders kunnen worden onderverdeeld in de volgende twee categorieën:
-
Kaders die de overhead van MapReduce-taken verlagen om de algehele tijdefficiëntie van het systeem te vergroten: Oplossingen in deze categorie omvat Apache Storm en Apache Spark voor bijna-realtime stream-verwerking.
-
Frameworks die innovatieve querymethoden toepassen om realtime query's op big data mogelijk te maken: Sommige oplossingen in deze categorie zijn Google's Dremel, Apache Drill, Shark voor Apache Hive en Cloudera's Impala.
Real-time, stroomverwerkingskaders zijn zeer nuttig in een groot aantal industrieën - van voorraad- en financiële marktanalyses tot optimalisatie van e-commerce, en van real-time fraudedetectie tot geoptimaliseerde orderlogistiek. Ongeacht de branche waarin u werkt, als uw bedrijf wordt beïnvloed door realtime gegevensstromen die worden gegenereerd door mensen, machines of sensoren, zou een real-time verwerkingsraamwerk u kunnen helpen bij het optimaliseren en genereren van waarde voor uw organisatie.
Massively Parallel Processing (MPP) -platforms
Massively Parallel Processing (MPP) -platforms kunnen worden gebruikt in plaats van MapReduce als een alternatieve benadering voor gedistribueerde gegevensverwerking. Als het uw doel is parallelle verwerking in een traditioneel datawarehouse in te zetten, is een MPP wellicht de perfecte oplossing.
Overweeg het volgende om te begrijpen hoe MPP zich verhoudt tot een standaard MapReduce parallelle verwerkingsraamwerk. MPP voert parallelle computing-taken uit op dure, aangepaste hardware, terwijl MapReduce ze uitvoert op goedkope commodity-servers. Bijgevolg zijn MPP-verwerkingsmogelijkheden kostenbeheersend. Dit gezegd zijnde, MPP is sneller en gemakkelijker te gebruiken dan standaard MapReduce-taken. Dat komt omdat MPP kan worden opgevraagd met behulp van Structured Query Language (SQL), maar native MapReduce-taken worden beheerd door de meer gecompliceerde Java-programmeertaal.
Bekende MPP-leveranciers en -producten zijn het old-school Teradata-platform en nieuwere oplossingen zoals EMC 2 's Greenplum DCA, HP's Vertica, IBM's Netezza en Oracle's Exadata.
Introductie van NoSQL-databases
Traditionele relationele databasebeheersystemen (RDBMS) zijn niet uitgerust om om te gaan met grote gegevensvereisten. Dat komt omdat traditionele relationele databases zijn ontworpen om alleen relationele gegevenssets te verwerken die zijn opgebouwd uit gegevens die zijn opgeslagen in zuivere rijen en kolommen en dus kunnen worden opgevraagd via Structured Query Language (SQL).
RDBM-systemen kunnen niet overweg met ongestructureerde en semi-gestructureerde gegevens. Bovendien hebben RDBM-systemen eenvoudigweg niet de verwerkings- en verwerkingscapaciteiten die nodig zijn om te voldoen aan de grote datavolume- en snelheidsvereisten.
Hier komt NoSQL om de hoek. NoSQL-databases, zoals MongoDB, zijn niet-relationele, gedistribueerde databasesystemen die zijn ontworpen om de uitdaging voor big data aan te gaan. NoSQL-databases stappen voorbij de traditionele relationele database-architectuur en bieden een veel meer schaalbare, efficiënte oplossing.
NoSQL-systemen vergemakkelijken het niet-SQL-gegevens opvragen van niet-relationele of schemavrije, semi-gestructureerde en ongestructureerde gegevens. Op deze manier kunnen NoSQL-databases omgaan met de gestructureerde, semi-gestructureerde en ongestructureerde gegevensbronnen die veel voorkomen in big data-systemen.
NoSQL biedt vier categorieën niet-relationele databases: grafiedatabases, documentdatabases, sleutel / waarde-winkels en kolomfamiliewinkels. Omdat NoSQL native functionaliteit biedt voor elk van deze afzonderlijke typen datastructuren, biedt het zeer efficiënte opslag- en opvraagfunctionaliteit voor de meeste soorten niet-relationele gegevens. Dit aanpassingsvermogen en efficiëntie maken van NoSQL een steeds populairder wordende keuze voor het verwerken van big data en voor het overwinnen van verwerkingsproblemen die daarmee gepaard gaan.
Er is nogal wat discussie over de betekenis van de naam NoSQL. Sommigen beweren dat NoSQL staat voor Niet alleen voor SQL , terwijl anderen beweren dat het acroniem Niet-SQL-databases vertegenwoordigt. Het argument is nogal complex en er is geen echt knip-en-droog antwoord.Om dingen eenvoudig te houden, moet u NoSQL beschouwen als een klasse van niet-relationele databasebeheersystemen die niet vallen binnen het spectrum van RDBM-systemen die worden ondervraagd met behulp van SQL.