Dec. 14, 2021

Building 96, Room 001


Speaker:Noa Roy-Hubara

Title: A Method for Database Model Selection and Design


The last decade brought about many changes in data. The increase of web data created new challenges and opportunities in handling and storing data. Websites required new features such as being constantly available, allow rapid data growth and provide fast response time.  Web data is mostly unstructured and varied such as videos, images, analytics, and more, as opposed to structured data that is no longer prominent. These new data types and requirements were the catalysator for the creation of new types of databases and database models to handle them efficiently, as the traditional models provide limited support for such cases.

Nowadays, databases are usually classified according to data models, meaning the way/structure the data are stored. Relational databases, which were developed in the 1970s, dominated the market for a long time and they are still one of the top solutions to date[1]. Over the years many other database models have emerged, including object-oriented (OO), and in the last decade, NoSQL (Not Only SQL) databases. NoSQL databases are flexible, horizontally scalable databases that aim at overcoming the Relational databases rigidity and shortcoming with handling the new issues risen with the new data era.

The abundance of data models and providers have led to the understanding that there is no single database that fits all requirements. Nowadays, applications may use several database technologies in their implementation due to different requirements in different parts of the application. This is known as "Polyglot Persistence", i.e., the concept of using several different database systems in a single application.

Due to this new variety in data models, there is a need for a method to select the most suitable database model/s for a specific application, based in its requirements. Current related studies mostly compare different DBMSs based on technical aspects, which are useful for understanding the different technical aspects of the different models and databases. However, they do not deal with how well the various databases fit with a specific set of requirements of an application.

Another arising need from the said abundance is methods for designing the selected model/s. While there are several accepted ways for RDBMS design (ERD, normalization, etc.)  only several academic endeavors exist for creating design methods for the NoSQL databases. It seems that these methods are not widespread in their usage in the industry. Some of the methods are too complicated and hard to learn, while other are too simplistic and lacking in guidelines. Most practitioners do not use the said methods but rather use their own lesson-learnt and trial and error.

In this study I proposed a method for a database model selection that emphasizes the users' requirements, including data-related requirements, functional requirements, and non-functional requirements. The proposed method will assist practitioners to choose the best-fitted database models for an application. In addition, I am working towards methods for designing the various (NoSQL) databases, based on the same set of requirements.



Noa Roy-Hubara is an PhD student in the Department of Software and Information Systems Engineering at Ben-Gurion University of the Negev, Israel. Her research interests include databases, data modeling, and big data. Roy-Hubara received both her MSc and BSc in Information Systems Engineering at Ben-Gurion University. ​