Analys på Big Data är avgörande för att få affärsinsikter och driva innovation i dagens Internetföretag. Sådana analyser omfattar komplexa beräkningar av stora datamängder och utförs vanligtvis på MapReduce-baserade ramverk som Hive och Gris. Men enligt vår erfarenhet är dessa system fortfarande ganska begränsade när det gäller att prestera i stor skala. I synnerhet beräkningar som omfattar komplexa sammanfogningar och aggregeringar, t.ex. Statistiska beräkningar, skala dåligt på dessa system. I detta dokument föreslår vi nya primitiver för skalning av sådana beräkningar. Vi föreslår en ny datamodell för att organisera datauppsättningar i beräkningsdataenheter som är organiserade baserat på användardefinierade kostnadsfunktioner. Vi föreslår nya operatörer som utnyttjar dessa organiserade dataenheter för att avsevärt påskynda samgåenden och aggregeringar. Slutligen föreslår vi strategier för att fördela aggregeringsbelastningen jämnt över arbetsprocesser som är mycket effektiva för att undvika snedvred och minska (eller i vissa fall även ta bort) de tillhörande overheads. Vi har implementerat alla våra föreslagna primitiva inom ramen för Rubix, som har varit i produktion på LinkedIn i nästan ett år. Rubix driver flera applikationer och bearbetar tbc av data varje dag. Vi har sett anmärkningsvärda förbättringar i hastighet och kostnad för komplexa beräkningar på grund av dessa primitiva.
I REF föreslås nya primitiver för skalberäkningar såsom aggregering och sammanfogning.
Execution Primitives for Scalable Joins and Aggregations in Map Reduce
{'venue': 'PVLDB', 'journal': 'PVLDB', 'mag_field_of_study': ['Computer Science']}