Efficient Storage Backends for IoT Data : Consistent global state for input and coordination data in the Internet of Things

Storing information is at the core of almost every Internet-of-Things (IoT) middleware, which poses challenges relating to scalability, fault-tolerance and correctness. This is even more relevant for a subset of IoT platform architectures that use a database abstraction to connect IoT components and...

Full description

Bibliographic Details
Main Author: Kreitmair, Vivienne Franziska
Format: Others
Language:English
Published: KTH, Skolan för elektroteknik och datavetenskap (EECS) 2018
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-236056
id ndltd-UPSALLA1-oai-DiVA.org-kth-236056
record_format oai_dc
collection NDLTD
language English
format Others
sources NDLTD
topic Computer Sciences
Datavetenskap (datalogi)
spellingShingle Computer Sciences
Datavetenskap (datalogi)
Kreitmair, Vivienne Franziska
Efficient Storage Backends for IoT Data : Consistent global state for input and coordination data in the Internet of Things
description Storing information is at the core of almost every Internet-of-Things (IoT) middleware, which poses challenges relating to scalability, fault-tolerance and correctness. This is even more relevant for a subset of IoT platform architectures that use a database abstraction to connect IoT components and treat data that represents physical state, control output, or inferred information in a uniform manner. At the same time, new database products aim to address these challenges through means of distribution while retaining semantics similar to existing relational databases. This study analysed the requirements of a stateful IoT middleware on its database backend in order to identify viable candidates. A middleware product was adapted to store its data on two backend implementations based on the databases CockroachDB and Infinispan, which make use of different concepts and algorithms. To leverage their transactional capabilities, the frontend interface of the middleware was supplemented with transactional access methods. Finally, the performance of the implementations was measured and compared with a set of application-oriented benchmarks. The results show a considerable trade-off between consistency, transactional safety, performance, and fault-tolerance and suggest that IoT middleware should make a distinction between the processing of input data aggregation and decision-making coordination tasks. === Att lagra information är en central uppgift i nästan varje Internet-of-Things (IoT) midd-leware vilket innebär utmaningar med aveseende på skalbarhet, feltolerans och korrekthet. Det är ännu mer relevant för en delmängd av IoT-plattformsarkitekturer som förbinder IoT-komponenter genom en databasabstraktion och behandlar data som representerar fysiskt tillstånd, styrningsdata eller härledd information på ett enhetligt sätt och har därmed höga krav på konsistens och prestanda. Samtidigt finns det nu nya databasprodukter som adresserar dessa utmaningar genom distribution, men behåller samtidigt semantiken hos välkända relationsdatabaser.Denna studie analyserar kraven på en IoT middleware på databasbackenden och försöker identifiera lämpliga kandidater. En middleware-produkt anpassas sedan för att lagra data genom två backend-implementeringar som baseras på databaserna CockroachDB och Infinispan vilka använder olika koncept och algoritmer. För att utnyttja deras transaktionsmöjligheter kompletteras frontend-gränssnittet med transaktionella metoder. Slutligen mäts implementeringarnas prestationer och jämförs med varandra genom en applikationsorienterade benchmark. Resultaten visar en betydande trade-off mellan konsistens, transaktionssäkerhet och prestanda och tyder på att middlewaren bör skilja mellan bearbetning av indata och besultsfattande koordinationsprocesser. === Die Speicherung von Information ist eine zentrale Aufgabe jeder Internet-of-Things (IoT) Middleware, was Herausforderungen an Skalierbarkeit, Fehlertoleranz und Korrektheit stellt. Dies ist insbesondere für eine Teilmenge von IoT Plattform-Architekturen relevant, die eine Datenbank-Abstraktion verwenden um Echtzeitinformation zum physikalische Zustand, Steuerungsdaten oder abgeleitetes Wissen über eine einheitliche Schnittstelle zur Verfügung zu stellen und darüber hinaus hohe Anforderungen an Konsistenz und Performanz stellen. Diese Herausforderungen werden auch von vielen jüngeren Datenbank-Entwicklungen addressiert, die Daten verteilt speichern und dabei versuchen die Semantik von herkömmlichen relationalen Datenbanken zu wahren. Diese Studie ermittelt die Anforderungen einer IoT-Middleware an ihr Datenbankbackend und versucht geeignete Kandidaten zu identifizieren. Das Middleware-Produkt DS2OS wird dann für zwei der identifizierten Datenbanken (Infinispan und CockroachDB) angepasst. Zur Ausnutzung von deren Transaktionsfähigkeit wird das Frontend der Middleware zusätzlich mit transaktionalen Zugriffsmethoden versehen. Schließlich werden die Implmentierungen mit anwendungsnahen Benchmarks vermessen und miteinander verglichen. Die Ergebnisse zeigen eine deutlichen Zielkonflikt zwischen Konsistenz, Transaktionssicherheit und Performanz und legen nahe, dass eine IoT-Middleware bei der Datenverarbeitung zwischen der Aggregation von Sensordaten und Entscheidungsprozessen zur Koordination von Ausgabehandlungen unterscheiden sollte.
author Kreitmair, Vivienne Franziska
author_facet Kreitmair, Vivienne Franziska
author_sort Kreitmair, Vivienne Franziska
title Efficient Storage Backends for IoT Data : Consistent global state for input and coordination data in the Internet of Things
title_short Efficient Storage Backends for IoT Data : Consistent global state for input and coordination data in the Internet of Things
title_full Efficient Storage Backends for IoT Data : Consistent global state for input and coordination data in the Internet of Things
title_fullStr Efficient Storage Backends for IoT Data : Consistent global state for input and coordination data in the Internet of Things
title_full_unstemmed Efficient Storage Backends for IoT Data : Consistent global state for input and coordination data in the Internet of Things
title_sort efficient storage backends for iot data : consistent global state for input and coordination data in the internet of things
publisher KTH, Skolan för elektroteknik och datavetenskap (EECS)
publishDate 2018
url http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-236056
work_keys_str_mv AT kreitmairviviennefranziska efficientstoragebackendsforiotdataconsistentglobalstateforinputandcoordinationdataintheinternetofthings
AT kreitmairviviennefranziska effektivlagringaviotdata
_version_ 1719206635894734848
spelling ndltd-UPSALLA1-oai-DiVA.org-kth-2360562019-06-18T05:28:10ZEfficient Storage Backends for IoT Data : Consistent global state for input and coordination data in the Internet of ThingsengEffektiv Lagring av IoT DataKreitmair, Vivienne FranziskaKTH, Skolan för elektroteknik och datavetenskap (EECS)2018Computer SciencesDatavetenskap (datalogi)Storing information is at the core of almost every Internet-of-Things (IoT) middleware, which poses challenges relating to scalability, fault-tolerance and correctness. This is even more relevant for a subset of IoT platform architectures that use a database abstraction to connect IoT components and treat data that represents physical state, control output, or inferred information in a uniform manner. At the same time, new database products aim to address these challenges through means of distribution while retaining semantics similar to existing relational databases. This study analysed the requirements of a stateful IoT middleware on its database backend in order to identify viable candidates. A middleware product was adapted to store its data on two backend implementations based on the databases CockroachDB and Infinispan, which make use of different concepts and algorithms. To leverage their transactional capabilities, the frontend interface of the middleware was supplemented with transactional access methods. Finally, the performance of the implementations was measured and compared with a set of application-oriented benchmarks. The results show a considerable trade-off between consistency, transactional safety, performance, and fault-tolerance and suggest that IoT middleware should make a distinction between the processing of input data aggregation and decision-making coordination tasks. Att lagra information är en central uppgift i nästan varje Internet-of-Things (IoT) midd-leware vilket innebär utmaningar med aveseende på skalbarhet, feltolerans och korrekthet. Det är ännu mer relevant för en delmängd av IoT-plattformsarkitekturer som förbinder IoT-komponenter genom en databasabstraktion och behandlar data som representerar fysiskt tillstånd, styrningsdata eller härledd information på ett enhetligt sätt och har därmed höga krav på konsistens och prestanda. Samtidigt finns det nu nya databasprodukter som adresserar dessa utmaningar genom distribution, men behåller samtidigt semantiken hos välkända relationsdatabaser.Denna studie analyserar kraven på en IoT middleware på databasbackenden och försöker identifiera lämpliga kandidater. En middleware-produkt anpassas sedan för att lagra data genom två backend-implementeringar som baseras på databaserna CockroachDB och Infinispan vilka använder olika koncept och algoritmer. För att utnyttja deras transaktionsmöjligheter kompletteras frontend-gränssnittet med transaktionella metoder. Slutligen mäts implementeringarnas prestationer och jämförs med varandra genom en applikationsorienterade benchmark. Resultaten visar en betydande trade-off mellan konsistens, transaktionssäkerhet och prestanda och tyder på att middlewaren bör skilja mellan bearbetning av indata och besultsfattande koordinationsprocesser. Die Speicherung von Information ist eine zentrale Aufgabe jeder Internet-of-Things (IoT) Middleware, was Herausforderungen an Skalierbarkeit, Fehlertoleranz und Korrektheit stellt. Dies ist insbesondere für eine Teilmenge von IoT Plattform-Architekturen relevant, die eine Datenbank-Abstraktion verwenden um Echtzeitinformation zum physikalische Zustand, Steuerungsdaten oder abgeleitetes Wissen über eine einheitliche Schnittstelle zur Verfügung zu stellen und darüber hinaus hohe Anforderungen an Konsistenz und Performanz stellen. Diese Herausforderungen werden auch von vielen jüngeren Datenbank-Entwicklungen addressiert, die Daten verteilt speichern und dabei versuchen die Semantik von herkömmlichen relationalen Datenbanken zu wahren. Diese Studie ermittelt die Anforderungen einer IoT-Middleware an ihr Datenbankbackend und versucht geeignete Kandidaten zu identifizieren. Das Middleware-Produkt DS2OS wird dann für zwei der identifizierten Datenbanken (Infinispan und CockroachDB) angepasst. Zur Ausnutzung von deren Transaktionsfähigkeit wird das Frontend der Middleware zusätzlich mit transaktionalen Zugriffsmethoden versehen. Schließlich werden die Implmentierungen mit anwendungsnahen Benchmarks vermessen und miteinander verglichen. Die Ergebnisse zeigen eine deutlichen Zielkonflikt zwischen Konsistenz, Transaktionssicherheit und Performanz und legen nahe, dass eine IoT-Middleware bei der Datenverarbeitung zwischen der Aggregation von Sensordaten und Entscheidungsprozessen zur Koordination von Ausgabehandlungen unterscheiden sollte. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-236056TRITA-EECS-EX ; 2018:728application/pdfinfo:eu-repo/semantics/openAccess