State management is the key component of a stateful stream processing system. Normally a stream processing system supports either an embedded state backend or an external backend. An embedded backend will store the data locally on the computing node. It is efficient to read and write but will lose the capability to scale out the system. An external backend could solve the problem but the performance will be compromised since the operations on the data have to go over the network. This project aims to find an approach combining the advantages of both embedded and external backend, a tiered storage system has been proposed to solve this issue at the cost of more storage space. The proposed solution consists of three layers, ephemeral layer, embedded layer, and external layer. The ephemeral layer and embedded layer reside on the local node while the external layer resides on an external node to make the system reconfigurable. The application will always retrieve data from the ephemeral layer first for different kinds of operations, then the embedded layer will be consulted if no result is found in the ephemeral layer, and finally the external layer will be visited. Based on this design principle, the operations in the state will be conducted locally as much as possible to be efficient. This point has been proved in the project by evaluating the performance with different key distributions. The experiments result shows the tiered storage system can provide good performance with the capability of system reconfiguration. / Tillståndshantering är nyckelkomponenten i ett tillståndsbestämt strömbehandlingssystem. Normalt stöder ett strömbehandlingssystem antingen en inbäddad tillståndsbackend eller en extern backend. En inbäddad backend kommer att lagra data lokalt på datornoden. Det är effektivt att läsa och skriva men kommer att förlora förmågan att skala ut systemet. En extern backend kan lösa problemet men prestandan kommer att äventyras eftersom operationerna på datan måste gå över nätverket. Detta projekt syftar till att hitta ett tillvägagångssätt som kombinerar fördelarna med både inbäddad och extern backend, ett lagringssystem i nivåer har föreslagits för att lösa detta problem till priset av mer lagringsutrymme. Den föreslagna lösningen består av tre lager, kortvarigt lager, inbäddat lager och externt lager. Det tillfälliga lagret och det inbäddade lagret finns på den lokala noden medan det externa lagret finns på en extern nod för att göra systemet omkonfigurerbart. Applikationen kommer alltid att hämta data från det efemära lagret först för olika typer av operationer, sedan kommer det inbäddade lagret att konsulteras om inget resultat hittas i det efemära lagret och slutligen kommer det externa lagret att besökas. Utifrån denna designprincip kommer verksamheten på staten att bedrivas lokalt så mycket som möjligt för att vara effektiv. Denna poäng har bevisats i projektet genom att utvärdera prestandan med olika nyckelfördelningar. Experimentresultatet visar att det nivåbaserade lagringssystemet kan ge bra prestanda med möjlighet till systemomkonfigurering.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-321936 |
Date | January 2022 |
Creators | Song, Ao |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2022:788 |
Page generated in 0.0027 seconds