In-memory verwerking - In-memory processing

In de informatica is in-memory verwerking een opkomende technologie voor het verwerken van gegevens die zijn opgeslagen in een in-memory database . Oudere systemen zijn gebaseerd op schijfopslag en relationele databases die SQL- querytaal gebruiken, maar deze worden in toenemende mate als ontoereikend beschouwd om te voldoen aan de behoeften van business intelligence (BI). Omdat opgeslagen gegevens veel sneller toegankelijk zijn wanneer ze in RAM ( Random-Access Memory ) of flashgeheugen worden geplaatst , maakt verwerking in het geheugen het mogelijk om gegevens in realtime te analyseren , waardoor snellere rapportage en besluitvorming in het bedrijfsleven mogelijk wordt.

Op schijf gebaseerde bedrijfsinformatie

Data structuren

Met schijfgebaseerde technologie worden gegevens op de harde schijf van de computer geladen in de vorm van meerdere tabellen en multidimensionale structuren waarop query's worden uitgevoerd. Schijfgebaseerde technologieën zijn relationele databasebeheersystemen (RDBMS), vaak gebaseerd op de gestructureerde querytaal ( SQL ), zoals SQL Server , MySQL , Oracle en vele andere. RDBMS zijn ontworpen voor de vereisten van transactieverwerking . Door gebruik te maken van een database die invoegingen en updates ondersteunt en aggregaties uitvoert, zijn joins (typisch in BI-oplossingen) doorgaans erg traag. Een ander nadeel is dat SQL is ontworpen om op efficiënte wijze rijen gegevens op te halen, terwijl BI-query's meestal betrekking hebben op het ophalen van gedeeltelijke rijen gegevens met zware berekeningen.

Om de queryprestaties te verbeteren, worden multidimensionale databases of OLAP-kubussen - ook wel multidimensionale online analytische verwerking (MOLAP) genoemd - geconstrueerd. Het ontwerpen van een kubus is een uitgebreid en langdurig proces, en het kan omslachtig zijn om de structuur van de kubus aan te passen aan dynamisch veranderende zakelijke behoeften. Kubussen zijn vooraf gevuld met gegevens om specifieke vragen te beantwoorden en hoewel ze de prestaties verbeteren, zijn ze nog steeds niet geschikt voor het beantwoorden van ad-hocvragen.

Het personeel van de informatietechnologie (IT) besteedt aanzienlijke ontwikkelingstijd aan het optimaliseren van databases, het maken van indexen en aggregaten , het ontwerpen van kubussen en sterschema's , gegevensmodellering en query-analyse.

Verwerkingssnelheid

Het lezen van gegevens van de harde schijf is veel langzamer (mogelijk honderden keren) in vergelijking met het lezen van dezelfde gegevens uit RAM. Vooral bij het analyseren van grote hoeveelheden gegevens gaan de prestaties ernstig achteruit. Hoewel SQL een zeer krachtig hulpmiddel is, duurt het relatief lang voordat complexe query's worden uitgevoerd en leiden ze vaak tot lagere prestaties van de transactieverwerking. Om binnen een acceptabele responstijd resultaten te krijgen, zijn veel datawarehouses ontworpen om samenvattingen vooraf te berekenen en alleen specifieke vragen te beantwoorden. Geoptimaliseerde aggregatie-algoritmen zijn nodig om de prestaties te verbeteren.

Verwerkingstools in het geheugen

Memory verwerking kan worden bereikt via de traditionele databases zoals Oracle , DB2 of Microsoft SQL Server of via NoSQL aanbiedingen, zoals in-memory data grid als Hazelcast , Infinispan , Oracle Coherence of scale-out Software. Met zowel in-memory database als datagrid wordt alle informatie in eerste instantie in het RAM-geheugen of flashgeheugen geladen in plaats van op harde schijven . Met een datagrid vindt de verwerking drie orde van grootte sneller plaats dan relationele databases met geavanceerde functionaliteit zoals ACID die de prestaties verslechteren ter compensatie van de extra functionaliteit. Door de komst van kolomgecentreerde databases , die vergelijkbare informatie samen opslaan, kunnen gegevens efficiënter en met grotere compressieverhoudingen worden opgeslagen . Hierdoor kunnen enorme hoeveelheden gegevens in dezelfde fysieke ruimte worden opgeslagen, waardoor er minder geheugen nodig is om een ​​query uit te voeren en de verwerkingssnelheid wordt verhoogd. Veel gebruikers en softwareleveranciers hebben flash-geheugen in hun systemen geïntegreerd, zodat systemen voordeliger kunnen schalen naar grotere datasets. Oracle heeft flash-geheugen geïntegreerd in de Oracle Exadata- producten voor betere prestaties. Microsoft SQL Server 2012 BI/Data Warehousing-software is gekoppeld aan Violin Memory- flashgeheugenarrays om in-memory verwerking van datasets groter dan 20TB mogelijk te maken.

Gebruikers vragen de gegevens op die in het systeemgeheugen zijn geladen, waardoor tragere databasetoegang en prestatieknelpunten worden vermeden. Dit verschilt van caching , een veelgebruikte methode om queryprestaties te versnellen, doordat caches subsets zijn van zeer specifieke, vooraf gedefinieerde georganiseerde gegevens. Met in-memory tools kunnen gegevens die beschikbaar zijn voor analyse zo groot zijn als een datamart of een klein datawarehouse dat zich volledig in het geheugen bevindt. Dit is snel toegankelijk voor meerdere gelijktijdige gebruikers of applicaties op detailniveau en biedt de mogelijkheid voor verbeterde analyses en voor het schalen en verhogen van de snelheid van een applicatie. Theoretisch is de verbetering van de gegevenstoegangssnelheid 10.000 tot 1.000.000 keer in vergelijking met de schijf. Het minimaliseert ook de behoefte aan prestatieafstemming door IT-personeel en biedt een snellere service voor eindgebruikers.

Voordelen van in-memory verwerkingstechnologie

Bepaalde ontwikkelingen op het gebied van computertechnologie en zakelijke behoeften hebben ertoe geleid dat de relatieve voordelen van in-memory-technologie zijn toegenomen.

  • Hardware wordt steeds goedkoper en beter presterend, volgens de wet van Moore . De rekenkracht verdubbelt elke twee tot drie jaar terwijl de kosten dalen. CPU-verwerking, geheugen en schijfopslag zijn allemaal onderhevig aan enige variatie van deze wet. Ook hardware-innovaties zoals multi-core architectuur , NAND-flashgeheugen , parallelle servers en een grotere geheugenverwerkingscapaciteit, naast software-innovaties zoals kolomcentrische databases, compressietechnieken en het verwerken van geaggregeerde tabellen, hebben allemaal bijgedragen aan de vraag naar in-memory producten.
  • De komst van 64-bits besturingssystemen , die toegang geven tot veel meer RAM (tot 100 GB of meer) dan de 2 of 4 GB die toegankelijk is op 32-bits systemen. Door terabytes (1 TB = 1.024 GB) aan opslagruimte te bieden voor opslag en analyse, maken 64-bits besturingssystemen de verwerking in het geheugen schaalbaar. Door het gebruik van flash-geheugen kunnen systemen zuiniger worden geschaald naar vele Terabytes.
  • Toenemende hoeveelheden data hebben ertoe geleid dat traditionele datawarehouses de data niet meer op een tijdige en nauwkeurige manier kunnen verwerken. Het proces voor extraheren, transformeren, laden (ETL) waarmee datawarehouses periodiek worden bijgewerkt met operationele gegevens, kan enkele uren tot weken in beslag nemen. Dus op een bepaald moment zijn gegevens minstens een dag oud. Verwerking in het geheugen maakt directe toegang tot terabytes aan gegevens mogelijk voor realtime rapportage.
  • In-memory verwerking is beschikbaar tegen lagere kosten in vergelijking met traditionele BI-tools, en kan gemakkelijker worden geïmplementeerd en onderhouden. Volgens Gartner-enquête kan de implementatie van traditionele BI-tools wel 17 maanden duren. Veel datawarehouse-leveranciers kiezen in-memory-technologie boven traditionele BI om implementatietijden te versnellen.

Toepassing in het bedrijfsleven

Een reeks in-memory producten biedt de mogelijkheid om verbinding te maken met bestaande gegevensbronnen en toegang tot visueel rijke interactieve dashboards. Hierdoor kunnen bedrijfsanalisten en eindgebruikers aangepaste rapporten en query's maken zonder veel training of expertise. Gemakkelijke navigatie en de mogelijkheid om zoekopdrachten direct aan te passen is een voordeel voor veel gebruikers. Omdat deze dashboards kunnen worden gevuld met nieuwe gegevens, hebben gebruikers toegang tot realtime gegevens en kunnen ze binnen enkele minuten rapporten maken. In-memory verwerking kan van bijzonder voordeel zijn in callcenters en magazijnbeheer.

Met verwerking in het geheugen wordt de brondatabase slechts één keer opgevraagd in plaats van de database telkens te openen wanneer een query wordt uitgevoerd, waardoor repetitieve verwerking wordt geëlimineerd en de belasting van databaseservers wordt verminderd. Door te plannen om de in-memory database 's nachts te vullen, kunnen de databaseservers tijdens piekuren voor operationele doeleinden worden gebruikt.

Gebruik van in-memory technologie

Bij een groot aantal gebruikers is een grote hoeveelheid RAM nodig voor een in-memory configuratie, wat weer gevolgen heeft voor de hardwarekosten. De investering is waarschijnlijk geschikter in situaties waar de snelheid van het beantwoorden van vragen een hoge prioriteit heeft, en waar er sprake is van een aanzienlijke groei van het datavolume en een toenemende vraag naar rapportagefaciliteiten; het kan nog steeds niet kosteneffectief zijn als de informatie niet snel verandert. Beveiliging is een andere overweging, aangezien in-memory tools enorme hoeveelheden gegevens blootstellen aan eindgebruikers. Makers adviseren ervoor te zorgen dat alleen geautoriseerde gebruikers toegang krijgen tot de gegevens.

Zie ook

Referenties