I dagens webb- och sociala nätverksmiljöer inkluderar frågebördan ad hoc- och OLAP-frågor samt iterativa algoritmer som analyserar datarelationer (t.ex. länkanalys, klusterbildning, lärande). Moderna DBMS stöder ad hoc- och OLAP-frågor, men de flesta är inte tillräckligt robusta för att skala till stora kluster. Omvänt, "moln" plattformar som MapReduce utföra kedjor av batch uppgifter över kluster på ett feltolerant sätt, men har för mycket overhead för att stödja ad hoc frågor. Dessutom har båda klasserna av plattform betydande overhead vid genomförandet av iterativa dataanalysalgoritmer. De flesta sådana iterativa algoritmer förfinar upprepade gånger delar av sina svar, tills vissa konvergenskriterier har uppnåtts. Men allmänna molnplattformar måste vanligtvis ombehandla alla data i varje steg. DBMS som stöder rekursiva SQL är effektivare genom att de bara propagerar för förändringar i varje steg - men de fortfarande ackumulerar varje iteration tillstånd, även om det inte längre är användbart. Användardefinierade funktioner är också typiskt svårare att skriva för DBMS än för molnplattformar. Vi försöker förena styrkorna i båda plattformarna, med fokus på att stödja iterativa beräkningar där förändringar, i form av delta, sprids från iteration till iteration, och tillstånd uppdateras effektivt på ett extensibelt sätt. Vi presenterar en programmeringsmodell som är orienterad kring delta, beskriver hur vi utför och optimerar sådana program i vårt REX-runtime-system och validerar att vår plattform också hanterar fel på ett graciöst sätt. Vi validerar experimentellt våra tekniker, och visar upp hastigheter över de konkurrerande metoderna som sträcker sig från 2,5 till nästan 100 gånger.
REX stöder iterativa distribuerade beräkningar längs databasoperationer där förändringar sprids mellan iterationer REF.
REX: Recursive, Delta-Based Data-Centric Computation
{'venue': 'PVLDB', 'journal': 'PVLDB', 'mag_field_of_study': ['Computer Science']}