Actor Database Systems: A Manifesto

07/20/2017
by   Vivek Shah, et al.
0

Interactive data-intensive applications are becoming ever more pervasive in domains such as finance, web applications, mobile computing, and Internet of Things. Typically, these applications are architected to utilize a data tier for persistence. At one extreme, the data tier is a simple key-value storage service, and the application code is concentrated in the middle tier. While this design provides for programmability at the middle tier, it forces applications to forego classic data management functionality, such as declarative querying and transactions. At the other extreme, the application code can be colocated in the data tier itself using stored procedures in a database system. While providing rich data management functionality natively, the resulting lack of modularity and state encapsulation creates software engineering challenges, such as difficulty in isolation of bugs and failures or complexity in managing source code dependencies. In addition, this monolithic architectural style makes it harder to scale the application with growing request volumes and data sizes. In this paper, we advocate a new database system paradigm bringing to developers the benefits of these two extremes, while avoiding their pitfalls. To provide modularity and reasoning on scalability, we argue that data tiers should leverage the actor abstraction; at the same time, these actor-based data tiers should offer database system features to reduce bugs and programming effort involved in state manipulation. Towards this aim, we present a vision for actor database systems. We analyze current trends justifying the emergence of this abstraction and discuss a set of features for these new systems. To illustrate the usefulness of the proposed feature set, we present a detailed case study inspired by a smart supermarket application with self-checkout.

READ FULL TEXT
research
08/27/2022

Apiary: A DBMS-Backed Transactional Function-as-a-Service Framework

Developers are increasingly using function-as-a-service (FaaS) platforms...
research
06/10/2022

Object as a Service (OaaS): Enabling Object Abstraction in Serverless Clouds

Function as a Service (FaaS) paradigm is getting widespread and is envis...
research
02/27/2021

Data Management in Microservices: State of the Practice, Challenges, and Research Directions

We are recently witnessing an increased adoption of microservice archite...
research
06/22/2017

A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs

The actor model is an attractive foundation for developing concurrent ap...
research
04/22/2022

An Evaluation of Intra-Transaction Parallelism in Actor-Relational Database Systems

Over the past decade, we have witnessed a dramatic evolution in main-mem...
research
03/14/2022

Optimizing microservices with hyperparameter optimization

In the last few years, the cloudification of applications requires new c...
research
06/21/2020

Database Optimization to Recommend Software Developers using Canonical Order Tree

Recently frequent and sequential pattern mining algorithms have been wid...

Please sign up or login with your details

Forgot password? Click here to reset