Som användare av "big data" applikationer förväntar sig nya resultat, vi bevittnar en ny ras av stream processing system (SPS) som är utformade för att skala till ett stort antal moln-värdiga maskiner. Sådana system står inför nya utmaningar: i) för att dra nytta av modellen "pay-as-you-go" för molntjänster måste de skalas ut på begäran, skaffa ytterligare virtuella maskiner (VM) och parallellisera operatörer när arbetsbelastningen ökar; ii) misslyckanden är vanliga med installationer på hundratals VMs-system måste vara feltoleranta med snabba återhämtningstider, men ändå låga omkostnader per maskin. En öppen fråga är hur man ska uppnå dessa två mål när ström frågor inkluderar ståtliga operatörer, som måste skalas ut och återhämta sig utan att påverka frågeresultat. Vår nyckelidé är att explicit utsätta den interna operatörsstaten för SPS genom en uppsättning primitiva statsförvaltningar. Baserat på dem beskriver vi ett integrerat tillvägagångssätt för dynamisk utskalning och återhämtning av statliga operatörer. Externaliserad operatörsstat kontrolleras regelbundet av SPS och säkerhetskopieras till uppströms virtuella maskiner. SPS identifierar enskilda operatörsflaskhalsar och skalar automatiskt ut dem genom att tilldela nya virtuella maskiner och partitionera det kontrollerade tillståndet. När som helst återvinns misslyckade operatörer genom att återställa kontrollerat tillstånd på en ny VM och spela upp obearbetade tupler. Vi utvärderar detta tillvägagångssätt med Linjär Road Benchmark på Amazon EC2 molnplattform och visar att det kan skala automatiskt till en belastningsfaktor på L=350 med 50 virtuella maskiner, samtidigt återhämta sig snabbt från fel.
Nyligen föreslogs en ny idé om att exponera de interna staterna och kontrollera dem för att uppnå feltolerans i strömbearbetningssystem.
Integrating scale out and fault tolerance in stream processing using operator state management
{'venue': "SIGMOD '13", 'journal': None, 'mag_field_of_study': ['Computer Science']}