Mortadelo: A Model-Driven Framework for NoSQL Database Design

In big data contexts, the performance of relational databases can get overwhelmed, usually by numerous concurrent connections over large volumes of data. In these cases, the support of ACID transactions is dropped in favour of NoSQL data stores, which offer quick responses and high data availability. Although NoSQL systems solve this concrete performance problem, they also present some issues. For instance, the NoSQL spectrum covers a wide range of database paradigms, such as key-value, column-oriented or document stores. These paradigms differ too much from the relational model, provoking that it is not possible to make use of existent, well-known practices from relational database design. Moreover, the existence of that paradigm heterogeneity makes difficult the definition of general design practices for NoSQL data stores. We present Mortadelo, a framework devised for the automatic design of NoSQL databases. Mortadelo offers a model-driven transformation process, which starts from a technology-agnostic data model and provides an automatically generated design and implementation for the desired NoSQL data store. The main strength of our framework is its generality, i.e., Mortadelo can be extended to support any kind of NoSQL database. The validity of our approach has been checked through the implementation of a tool, which currently supports the generation of column family data stores and offers preliminary support of document-based ones.

[1]  Paolo Atzeni,et al.  Data modeling in the NoSQL world , 2016, Comput. Stand. Interfaces.

[2]  Paolo Atzeni,et al.  Uniform access to NoSQL systems , 2014, Inf. Syst..

[3]  Chongxin Li,et al.  Transforming relational database into HBase: A case study , 2010, 2010 IEEE International Conference on Software Engineering and Service Sciences.

[4]  D. G. Chandra,et al.  BASE analysis of NoSQL database , 2015 .

[5]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[6]  Saint John Walker Big Data: A Revolution That Will Transform How We Live, Work, and Think , 2014 .

[7]  Jordi Cabot,et al.  UMLtoGraphDB: Mapping Conceptual Schemas to Graph Databases , 2016, ER.

[8]  Surajit Chaudhuri,et al.  Automated Selection of Materialized Views and Indexes in SQL Databases , 2000, VLDB.

[9]  Norbert Ritter,et al.  NoSQL database systems: a survey and decision guidance , 2017, Computer Science - Research and Development.

[10]  Ibm Redbooks IBM Infosphere Datastage Data Flow and Job Design , 2008 .

[11]  Anneke Kleppe,et al.  Software Language Engineering: Creating Domain-Specific Languages Using Metamodels , 2008 .

[12]  Rui Liu,et al.  NoSE: Schema Design for NoSQL Applications , 2017, IEEE Trans. Knowl. Data Eng..

[13]  Heiko Behrens,et al.  Xtext: implement your language faster than the quick and dirty way , 2010, SPLASH/OOPSLA Companion.

[14]  Hassan Charaf,et al.  Denormalizing data into schema-free databases , 2013, 2013 IEEE 4th International Conference on Cognitive Infocommunications (CogInfoCom).

[15]  Rick Cattell,et al.  Scalable SQL and NoSQL data stores , 2011, SGMD.

[16]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[17]  Richard F. Paige,et al.  The Epsilon Generation Language , 2008, ECMDA-FA.

[18]  Stefan Jablonski,et al.  NoSQL evaluation: A use case oriented survey , 2011, 2011 International Conference on Cloud and Service Computing.

[19]  Xin Zhao,et al.  UML Specification and Relational Database , 2003, J. Object Technol..

[20]  Andrey Kashlev,et al.  A Big Data Modeling Methodology for Apache Cassandra , 2015, 2015 IEEE International Congress on Big Data.

[21]  Alberto Abelló,et al.  NOSQL Design for Analytical Workloads: Variability Matters , 2016, ER.

[22]  Peter P. Chen The entity-relationship model: toward a unified view of data , 1975, VLDB '75.

[23]  Kristina Chodorow,et al.  MongoDB - The Definitive Guide: Powerful and Scalable Data Storage , 2019 .