Introducing event sourcing to a system that is based on a model following Create, Read, Update and Delete (CRUD) operations can be a challenging task and requires an extensive rework of the current system. By introducing coarse-grained events it is possible to persist the structure of the data in a CRUD model and still gain the benefits of event sourcing, avoiding an extensive rework of the system. This thesis investigates how large amounts of data can be handled with coarse-grained events and still gain the benefits of event sourcing, by comparing with the conventional way of using fine-grained events. The data to be examined is trade data fed into a data warehouse. Based on research, an event sourcing application is implemented for coarse-grained as well as fine-grained events, to measure the difference between the two event types. The difference is limited to the metrics, latency and size of storage. The application is verified with an error handler, using example data and a profiler to make sure that it does not have any unnecessary bottlenecks. The resulting performance of the two cases show that fine-grained events have excessively larger latency than coarse-grained events in most cases whereas the size of storage is strictly smaller for fine-grained events. / Att introducera event sourcing i ett system baserat på en model som använder Create-, Read-, Update- och Delete-operationer (CRUD) kan vara en utmanande uppgift och kräver en omfattande omstrukturering av det nuvarande systemet. Genom att introducera grova händelser är det möjligt att bevara hela strukturen på datan i en CRUD-modell och ändå få fördelarna med event sourcing, för att därigenom undvika en omfattande omarbetning av systemet. Detta arbete undersöker hur stora datamängder kan hanteras genom grova händelser och ändå ge fördelarna med event sourcing, genom att jämföra med det konventionella sättet att använda fina händelser. Datan som undersöks är transaktionsdata på finansiella derivat som matas in i ett datalager. Baserat på forskning implementeras en event sourcing-applikation för både grova och fina händelser, för att mäta skillnaden mellan dessa två händelsetyper. Skillnaden är avgränsad till latens och lagringsutrymme. Applikationen verifieras genom felhantering, exempeldata och profilering för att säkerställa att den inte har några onödiga flaskhalsar. Den resulterande prestandan visar att fina händelser har betydligt större latens än grova händelser i de flesta fallen, medan lagringsutrymmet är strikt mindre för fina händelser.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-208302 |
Date | January 2017 |
Creators | Ye, Brian |
Publisher | KTH, Skolan för datavetenskap och kommunikation (CSC) |
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 |
Page generated in 0.0139 seconds