Towards Polyglot Persistence: The Use of Various Data Storages with Microservices Architecture

Session

Computer Science and Communication Engineering

Description

When thinking about data usage and how to manage it, the first thing that comes to our mind is developing a software application to help us on this matter. This thinking is usually followed by other thoughts on other topics such as software architecture and data storage. The most common architecture that was used for a long time is the classic one: The Monolithic Architecture. Although Monolithic Architecture supports storing data on various data storages, with relational model being the most common data model, usually only one data storage is used per application. In most cases the performance of an application also depends on the structure of the data, and the database this data is stored in. If an application needs to manage different data structures then it is very useful if it could persist data to various data storages in an easy way. Another software architectural style that organizes an application as a set of (micro)services where each one is organized around its own independent business logic is Microservices Architecture. In Microservices Architecture every service can use its own data storage, allowing that the application persist data to various data storages. In this paper we will analyze the use of Microservices Architecture towards polyglot persistence, which is an application persisting data in various data storages.

Keywords:

Microservices, Monolithic Architecture, Polyglot Persistence, Software Architecture, Database, Pattern, SQL, NoSQL, Relational, Various Data Storage

Session Chair

Edmond Jahjaga

Session Co-Chair

Ramiz Hoxha

Proceedings Editor

Edmond Hajrizi

ISBN

978-9951-550-19-2

Location

Pristina, Kosovo

Start Date

26-10-2019 11:00 AM

End Date

26-10-2019 12:30 PM

DOI

10.33107/ubt-ic.2019.256

This document is currently not available here.

Share

COinS
 
Oct 26th, 11:00 AM Oct 26th, 12:30 PM

Towards Polyglot Persistence: The Use of Various Data Storages with Microservices Architecture

Pristina, Kosovo

When thinking about data usage and how to manage it, the first thing that comes to our mind is developing a software application to help us on this matter. This thinking is usually followed by other thoughts on other topics such as software architecture and data storage. The most common architecture that was used for a long time is the classic one: The Monolithic Architecture. Although Monolithic Architecture supports storing data on various data storages, with relational model being the most common data model, usually only one data storage is used per application. In most cases the performance of an application also depends on the structure of the data, and the database this data is stored in. If an application needs to manage different data structures then it is very useful if it could persist data to various data storages in an easy way. Another software architectural style that organizes an application as a set of (micro)services where each one is organized around its own independent business logic is Microservices Architecture. In Microservices Architecture every service can use its own data storage, allowing that the application persist data to various data storages. In this paper we will analyze the use of Microservices Architecture towards polyglot persistence, which is an application persisting data in various data storages.