Data modeling in the NoSQL world - Atzeni, Paolo; Bugiotti, Francesca; Cabibbo, Luca; Torlone, Riccardo (Computer standards and interfaces, 2020)
NoSQL systems have gained their popularity for many reasons, including the flexibility they provide in organizing data, as they relax the rigidity provided by the relational model and by the other structured models. This flexibility and the heterogeneity that has emerged in the area have led to a little use of traditional modeling techniques, as opposed to what has happened with databases for decades. In this paper, we argue how traditional notions related to data modeling can be useful in this context as well. Specifically, we propose NoAM (NoSQL Abstract Model), a novel abstract data model for NoSQL databases, which exploits the commonalities of various NoSQL systems. We also propose a database design methodology for NoSQL systems based on NoAM, with initial activities that are independent of the specific target system. NoAM is used to specify a system-independent representation of the application data and, then, this intermediate representation can be implemented in target NoSQL databases, taking into account their specific features. Overall, the methodology aims at supporting scalability, performance, and consistency, as needed by next-generation web applications. •NoSQL systems are characterized by high flexibility but also high heterogeneity.•We argue that data modeling notions can be useful in the context on NoSQL databases.•We propose NoAM, an abstract data model for NoSQL systems.•We propose a database design methodology for NoSQL systems, based on NoAM.