Low Latency for Cloud Data Management

With the rise of scalable, distributed web applications, latency has become a fundamental challenge for cloud data management. The delays caused by accessing data from cloud services often dominate the performance of web and mobile applications. While modern data management systems address the need for higher scalability and fault tolerance, low latency remains an open issue. How can low-latency queries and reads be enabled without sacrificing central data management abstractions such as consistency levels and transactional isolation?In this thesis, we investigate caching in cloud data management for dynamic data ranging from database objects to complex query results. In the context of distributed systems, achieving reads that are both fast and consistent is tied to the challenge of maintaining fresh replicated data in proximity to clients. Therefore, we propose the data management platform Orestes that enhances existing NoSQL database systems with low latency. Orestes introduces several new techniques to substantially improve latency in cloud data management. First, it leverages the expiration-based model of web caches available all over the world through a novel cache coherence scheme – Cache Sketches. Our approach thus makes caching applicable to highly volatile cloud data while maintaining rigorous consistency levels. Second, transactions are a key concept often sacrificed in state-of-the-art systems for performance reasons. Therefore, we propose an approach for horizontally scalable, low-latency ACID transactions that can be added on top of existing database systems. Third, to enable polyglot persistence, we survey the field of scalable data management and derive a novel classification scheme that relates database implementation techniques to functional and non-functional guarantees. By combining these findings in a unified data management interface, Orestes can provide existing systems as a scalable, low-latency Database-as-a-Service. Fourth, with the design of a polyglot persistence mediator, we argue that the selection of suitable database systems for a given set of requirements can be automated based on service level agreements. Finally, we provide evidence that for typical web applications and database workloads, our approach can improve latency by more than an order of magnitude compared to traditional cloud-hosted backends and database systems. Mit der Verbreitung skalierbarer und verteilter Webanwendungen sind Zugriffslatenzen zu einer grundlegenden Herausforderung fur das Cloud Data Management geworden. Die Verzogerungen bei der Abfrage von Daten aus Cloud-Diensten dominieren oft die Performance von Web- und mobilen Anwendungen. Wahrend moderne Datenmanagementsysteme den Bedarf nach hoherer Skalierbarkeit und Fehlertoleranz adressieren, bleibt die Latenz eine offene Herausforderung. Wie konnen Lesezugriffe und Queries mit geringer Latenz beantwortet werden, ohne dabei zentrale Abstraktionen des Datenmanagements wie Konsistenzstufen und transaktionale Isolation aufzugeben?In dieser Arbeit untersuchen wir Caching im Cloud Data Management fur dynamische Daten von Datenbankobjekten bis hin zu komplexen Query-Ergebnissen. Im Kontext verteilter Systeme sind schnelle und korrekte Lesezugriffe mit der Herausforderung verbunden, replizierte Daten konsistent in physischer Nahe zu Usern vorzuhalten. Aus diesem Grund fuhren wir die Data Management-Plattform Orestes ein, um die Latenzen bestehender NoSQL-Datenbanksysteme zu verringern. Orestes verwendet mehrere neue Techniken, mit denen die Latenzen lesender Operationen im Cloud Data Management erheblich verbessert werden. Erstens nutzt es das expirationsbasierte Modell von Web-Caches, die uber ein neues Cachekoharenz-Verfahren namens Cache Sketches aktuell gehalten werden. Unser Ansatz macht Caching somit auch fur sehr volatile Cloud-Daten anwendbar und stellt dabei konfigurierbare Konsistenzgarantien sicher. Zweitens sind Transaktionen ein Kernkonzept des Datenmanagements, auf das in modernen Systemen oft aus Performancegrunden verzichtet wird. Daher schlagen wir einen Ansatz fur horizontal skalierbare ACID-Transaktionen mit geringen Latenzen vor, der auf bestehende Datenbanksysteme anwendbar ist. Drittens leiten wir fur polyglotte Persistenz durch eine genaue Analyse verfugbarer Ansatze ein Klassifikationsschema ab, das die Implementierungstechniken der Datenbanksysteme mit funktionalen und nicht-funktionalen Garantien in Beziehung setzt. Durch die Anwendung der Systematik auf eine vereinheitlichte Datenmanagement- Schnittstelle kann Orestes bestehende Systeme als skalierbares Database-as-a-Service mit geringer Latenz anbieten. Viertens zeigen wir mit dem Design eines Polyglot Persistence Mediators, dass die Auswahl geeigneter Datenbanksysteme auf Basis von Service Level Agreements automatisiert werden kann. Abschliesend belegen wir quantitativ, dass unser Ansatz fur typische Webanwendungen und Datenbank-Workloads die Latenz um mehr als eine Grosenordnung gegenuber herkommlichen Backends und Datenbanksystemen verbessert.