Video: 1.3 Drivers van Big data en het big data landscape 2024
MapReduce wordt steeds meer nuttig voor big data. In het begin van de jaren 2000 keken een aantal technici van Google in de toekomst en bepaalden dat hoewel hun huidige oplossingen voor toepassingen zoals webcrawl, frequentie van zoekopdrachten, enzovoort, toereikend waren voor de meeste bestaande vereisten, ze ontoereikend waren voor de complexiteit die ze verwachtten als de web geschaald naar meer en meer gebruikers.
Deze technici hebben vastgesteld dat als het werk kan worden verdeeld over goedkope computers en vervolgens op het netwerk kan worden aangesloten in de vorm van een 'cluster', zij het probleem kunnen oplossen. Distributie alleen was geen voldoende antwoord. Deze verdeling van werk moet parallel worden uitgevoerd om de volgende drie redenen:
-
De verwerking moet automatisch kunnen worden uitgebreid en gecontracteerd.
-
De verwerking moet kunnen doorgaan ongeacht storingen in het netwerk of de afzonderlijke systemen.
-
Ontwikkelaars die gebruikmaken van deze aanpak, moeten services kunnen maken die eenvoudig door andere ontwikkelaars kunnen worden gebruikt. Daarom moet deze aanpak onafhankelijk zijn van waar de gegevens en berekeningen zijn uitgevoerd.
MapReduce is ontworpen als een generiek programmeermodel. Sommige van de eerste implementaties leverden alle belangrijke vereisten op voor parallelle uitvoering, fouttolerantie, taakverdeling en gegevensmanipulatie. De ingenieurs die verantwoordelijk zijn voor het project noemden het initiatief MapReduce omdat het twee mogelijkheden combineert van bestaande functionele computertalen: kaart en verminderen .
Google-engineers hebben MapReduce ontworpen om een specifiek praktisch probleem op te lossen. Daarom was het ontworpen als een programmeermodel in combinatie met de implementatie van dat model - in wezen een referentie-implementatie.
De referentie-implementatie werd gebruikt om de bruikbaarheid en doeltreffendheid van het concept aan te tonen en om ervoor te zorgen dat dit model op grote schaal door de computerindustrie zou worden overgenomen. In de loop van de jaren zijn er andere implementaties van MapReduce gemaakt die beschikbaar zijn als zowel open source als commerciële producten.