What Is a Multi-Model Database and Why Use It?

Total Page:16

File Type:pdf, Size:1020Kb

What Is a Multi-Model Database and Why Use It? White Paper: What is a multi-model database and why use it? An ArangoDB White Paper (April 2020) What is a multi-model database and why use it? An ArangoDB White Paper (April 2020) Creating software applications is very much like life itself. You never know what might happen tomorrow or in 2 months from now. We commit to technology choices based on assumptions about the future. Choosing the right database for an application is fraught with difficulty, since database choice involves commitment to a particular model up front, that can easily be invalidated by unpredictably changing requirements in the future. Making the right choice involves prioritizing capabilities and making compromises based on what you know at the time, what you think might happen, the skills and resources you have at the time, and a lot of luck. If your use case requires relational, document, and graph capabilities, do you pick three different kinds of database technologies or do you pick the one you think is the most dominant? Often compromises lead to multiple kinds of databases in the same project, resulting in operational friction, data inconsistency, redundancy, and latency. Picking the wrong database model can be very costly. What if you could future proof database choice? Native multi-model databases insulate you from requirements changes and data model lock in. This white paper explains what multi-model databases are, why it makes sense to use them, and illustrates how to apply them using an aircraft fleet management use case. C​ opyright ArangoDB Inc. ​ What is a multi-model database and why use it? ArangoDB White Paper – April 2020 Table of Contents 1 ​ ​What is a native multi-model database? 3 2 ​ ​Why native multi-model? 4 3 ​ ​Data modeling with native multi-model databases 6 3.1 ​Aircraft fleet maintenance: A case study 6 3.1.1 ​A data model for an aircraft fleet 7 3.1.2 ​Queries for aircraft fleet maintenance 8 3.1.3 ​Using multi-model querying 12 3.2 ​Lessons learned for data modeling 13 4​ ​Further use cases for native multi-model databases 14 2 Copyright ArangoDB Inc. What is a multi-model database and why use it? ArangoDB White Paper – April 2020 1 What is a native multi-model database? Polyglot persistence is becoming the new normal [​zdnet 2020​], since the explosion of single model NoSQL databases in 2010, however, the proliferation of different kinds of databases and the complex orchestrations needed to keep the systems-of-systems in synch can become extremely complex, burdensome and expensive. By contrast, native multi model databases, like ​ArangoDB​, allow polyglot persistence in the same datastore. This eliminates the complex data orchestration, data transformation, and diversity of database knowledge needed to support polyglot persistence. Native multi-model databases, like ArangoDB, support multiple data models (e.g., key-value, document, graph, SQL) seamlessly (at the same time) in one core system using a single unified query language. This definition excludes databases that support one model at a time and need to be switched between data models. It also excludes databases that use views to create facades for different data models (layered multi-model). In a true multi-model database, the different models coexist as first class citizens and are interoperable in a multi-model query language. So what is a native multi-model database? In short, a native multi-model database has one core, one query language, but multiple data models. A native multi-model database is a combination of several data stores in one system. You can store data as key/value pairs, graphs or documents and can access your data seamlessly with one declarative query language, combining different models in a single query. You can build high-performance applications and scale horizontally using all data models to their full extent. Figure 1: A native multi-model has multiple coexisting data models accessed via one query language. 3 Copyright ArangoDB Inc. What is a multi-model database and why use it? ArangoDB White Paper – April 2020 2 Why native multi-model? Over the past decade, software architects have realized that there are benefits to leveraging a variety of data models for different parts of the persistence layer of software projects. As a result: Polyglot persistence has become increasingly popular. However, the earlier applications of polyglot persistence combined multiple single model databases in one software system. In this earlier approach, you would use a relational database to persist structured tabular data; a document store for unstructured object-like data; a key/value store for a hash table; and a graph database for highly linked referential data. The combination of multiple single model databases in the same project, often leads to operational friction (more complicated deployment, more frequent upgrades) as well as data consistency and duplication issues. A single native multi-model database provides a superior solution for the following three reasons: Firstly​, most use cases require diverse data models and choosing a particular single data model causes you to either force fit the other data models into the chosen model or causes you to use multiple databases accompanied by increasingly bizantine orchestration logic, high latencies, and data consistency issues - A multi-model allows you to avoid doing this. Secondly​, requirements do change over time and multi-model databases allow you to easily adapt to these changes without having to “rip and replace” databases. Thirdly​, database proliferation within enterprises is costly, can require expensive specialized skills, and complex orchestrations and transformations to keep data in sync and consistent. Multi-model databases allow enterprises to replace multiple systems, while avoiding external orchestration and transformation. 4 Copyright ArangoDB Inc. What is a multi-model database and why use it? ArangoDB White Paper – April 2020 Figure 2: tables, documents, graphs and key/value pairs: different data models. How do native multi-model databases work? How do key-values, documents and graphs coexist seamlessly? The answer is very simple. Documents in a document collection usually have a unique primary key that encodes document identity, which makes a document store into a key/value store, where the keys are strings and the values are JSON documents. The fact that the values are JSON does not impose a performance penalty, but offers a good amount of flexibility. The graph data model can be implemented by storing a JSON document for each vertex and a JSON document for each edge. The edges are kept in special edge collections that ensure that every edge has ​_from and ​_to attributes which reference the starting and ending ​ ​ vertices of the edge as well as the direction of a relationship. Having unified the data for the three data models in this way, it remains to implement a common query language that allows users to express document queries, key/value lookups, “graphy queries,” and arbitrary combinations of these. By “graphy queries”, I mean queries that involve the particular connectivity features coming from the edges, e.g. ● Graph Traversals ● Shortest_Path ● and Pattern Matching A Pattern Matching query in a multi-model database identifies all paths that follow an arbitrary complex combination of conditions. These conditions are composed of conditions on each single document or edge and conditions on the overall layout created by these 5 Copyright ArangoDB Inc. What is a multi-model database and why use it? ArangoDB White Paper – April 2020 objects. After all the theory, let’s dive into an actual use case of Aircraft Fleet Management including data modeling aspects and actual multi-model queries. 3 Data modeling with native multi-model databases 3.1 Aircraft fleet maintenance: A case study One area where the flexibility of a native multi-model database is extremely well suited is the management of large amounts of hierarchical data, such as in an aircraft fleet. An aircraft fleet consists of several types of aircraft, and a typical aircraft is composed of several million parts: from assemblies and subassemblies to individual components. One can think of an aircraft as a collection of parts flying in formation where the “formation” is a hierarchy of “items”. ​To organize the maintenance of a fleet of aircrafts, one has to manage a multitude of data at different levels in this hierarchy​. Parts and components have: ● names ● serial numbers ● manufacturer information ● maintenance intervals ● maintenance dates ● information about subcontractors ● links to manuals and documentation ● contact persons ● warranty and service contract information, to name but a few. This data for each item is attached to nodes in an aircraft’s bill of materials hierarchy. It is important to note that there may be three component hierarchies for an aircraft: as-designed, as-built, and as-maintained. In this paper we are focused on the as-maintained component hierarchy of an aircraft. The difference is that in an as-maintained hierarchy we see the aircraft in terms of replaceable and repairable components. In addition the configuration of the aircraft, and therefore the hierarchy will change over time as parts are replaced or refurbished on the individual aircraft. This data is tracked in order to provide information and answer questions. Questions can include but are not limited to the following examples: 6 Copyright ArangoDB Inc. What is a multi-model database and why use it? ArangoDB White Paper – April 2020 ● What are all the component parts in a given part? ● Given a (broken) part, what is the smallest component of the aircraft that contains the part and for which there is a maintenance procedure? ● Which parts of this aircraft need maintenance next week? 3.1.1 A data model for an aircraft fleet How do we model the data about our aircraft fleet using a multi-model database? A multi-model database provides a number of ways of accomplishing this, however, one approach that is very natural and offers fast query performance is to use a JSON document to hold the data for each item in the hierarchy and to represent the hierarchical relationships between the item documents as a graph.
Recommended publications
  • Management of Polyglot Persistent Environments for Low Latency Data Access in Big Data
    Beheer van heterogene opslagtechnologieën voor snelle datatoegang in 'Big Data'-omgevingen Management of Polyglot Persistent Environments for Low Latency Data Access in Big Data Thomas Vanhove Promotoren: prof. dr. ir. F. De Turck, dr. G. Van Seghbroeck Proefschrift ingediend tot het behalen van de graad van Doctor in de ingenieurswetenschappen: computerwetenschappen Vakgroep Informatietechnologie Voorzitter: prof. dr. ir. B. Dhoedt Faculteit Ingenieurswetenschappen en Architectuur Academiejaar 2017 - 2018 ISBN 978-94-6355-084-0 NUR 988, 995 Wettelijk depot: D/2018/10.500/2 QoE-beheer van HTTP-gebaseerde adaptieve videodiensten QoE Management of HTTP Adaptive Streaming Services Niels Bouten Promotoren: prof. dr. ir. F. De Turck, prof. dr. S. Latré Proefschrift ingediend tot het behalen van de graden van Doctor in de ingenieurswetenschappen: computerwetenschappen (Universiteit Gent) en Doctor in de wetenschappen: informatica (Universiteit Antwerpen) Universiteit Gent Faculteit IngenieurswetenschappenVakgroep Informatietechnologie en Architectuur Voorzitter: prof. dr. ir. D. De Zutter Faculteit IngenieurswetenschappenVakgroep Informatietechnologie en Architectuur Departement Wiskunde en Informatica Voorzitter: prof. dr. C. Blondia Leden van de examencommissie: Faculteit Wetenschappen prof. dr. ir. Filip De Turck (promotor) Universiteit Gent - imec Academiejaar 2016 - 2017 dr. Gregory Van Seghbroeck (promotor) Universiteit Gent - imec prof. dr. ir. Daniel¨ De Zutter (voorzitter) Universiteit Gent prof. dr. ir. Frank Gielen Universiteit Gent prof. dr. Guy De Tre´ Universiteit Gent prof. dr. ing. Erik Mannens Universiteit Gent - imec ir. Werner Van Leekwijck Universiteit Antwerpen dr. Anthony Liekens IO Lab Proefschrift tot het behalen van de graad van Doctor in de ingenieurswetenschappen: Computerwetenschappen Academiejaar 2017-2018 Dankwoord Je zou denken dat 5,5 jaar een lange tijd is, maar nu ik hier de laatste woorden van dit boek neerschrijf, lijkt het alsof augustus 2012 toch niet zo veraf is.
    [Show full text]
  • Nosql Distilled: a Brief Guide to the Emerging World of Polyglot Persistence
    NoSQL Distilled This page intentionally left blank NoSQL Distilled A Brief Guide to the Emerging World of Polyglot Persistence Pramod J. Sadalage Martin Fowler Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The authors and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests. For more information, please contact: U.S. Corporate and Government Sales (800) 382–3419 [email protected] For sales outside the United States please contact: International Sales [email protected] Visit us on the Web: informit.com/aw Library of Congress Cataloging-in-Publication Data: Sadalage, Pramod J. NoSQL distilled : a brief guide to the emerging world of polyglot persistence / Pramod J Sadalage, Martin Fowler. p. cm. Includes bibliographical references and index.
    [Show full text]
  • Polyglot Persistency an Adaptive Data Layer for Digital Systems Table of Contents
    polyglot persistency an adaptive data layer for digital systems table of contents 03 Executive summary 04 Why NoSQL databases? 05 Persistence store families 06 Assessing NoSQL technologies 10 Polyglot persistency in amdocs digital 14 About Amdocs To properly serve such demand, the underlying data layer executive must adapt from what has been used for the past three decades into a new adaptive data infrastructure capable summary of handling the multiple types of data models that exist in the modern application design, and providing an optimal persistence method – also called polyglot persistence. The digital era has changed the way users consume software. They want to access it from everywhere, at any A polyglot is “someone who speaks or writes several time, get all the capabilities they need in one place, and languages”. Neal Ford first introduced the term ’polyglot complete transactions with a single click of a button. persistence’ in 2006 to express the idea that NoSQL applications would, by their nature, require differing To meet these high standards, enterprises embrace persistence stores based on the type of data and access cloud principles and tools that will allow them to be needs. geographically distributed, intensely transactional, and continuously available. This paper introduces the concept of polyglot persistence along with the guidelines that can be utilized to map Furthermore, they understand that their software must various application use-cases to the appropriate be architected to be agile, distributed and broken up persistence family. The document also provides examples into independent, loosely coupled services, also known as of how Amdocs Digital is leveraging different persistence microservices.
    [Show full text]
  • MDA Process to Extract the Data Model from Document-Oriented Nosql Database
    MDA Process to Extract the Data Model from Document-oriented NoSQL Database Amal Ait Brahim, Rabah Tighilt Ferhat and Gilles Zurfluh Toulouse Institute of Computer Science Research (IRIT), Toulouse Capitole University, Toulouse, France Keywords: Big Data, NoSQL, Model Extraction, Schema Less, MDA, QVT. Abstract: In recent years, the need to use NoSQL systems to store and exploit big data has been steadily increasing. Most of these systems are characterized by the property "schema less" which means absence of the data model when creating a database. This property brings an undeniable flexibility by allowing the evolution of the model during the exploitation of the base. However, query expression requires a precise knowledge of the data model. In this article, we propose a process to automatically extract the physical model from a document- oriented NoSQL database. To do this, we use the Model Driven Architecture (MDA) that provides a formal framework for automatic model transformation. From a NoSQL database, we propose formal transformation rules with QVT to generate the physical model. An experimentation of the extraction process was performed on the case of a medical application. 1 INTRODUCTION however that it is absent in some systems such as Cassandra and Riak TS. The "schema less" property Recently, there has been an explosion of data offers undeniable flexibility by allowing the model to generated and accumulated by more and more evolve easily. For example, the addition of new numerous and diversified computing devices. attributes in an existing line is done without Databases thus constituted are designated by the modifying the other lines of the same type previously expression "Big Data" and are characterized by the stored; something that is not possible with relational so-called "3V" rule (Chen, 2014).
    [Show full text]
  • Arangodb Is Hailed As a Native Multi-Model Database by Its Developers
    ArangoDB i ArangoDB About the Tutorial Apparently, the world is becoming more and more connected. And at some point in the very near future, your kitchen bar may well be able to recommend your favorite brands of whiskey! This recommended information may come from retailers, or equally likely it can be suggested from friends on Social Networks; whatever it is, you will be able to see the benefits of using graph databases, if you like the recommendations. This tutorial explains the various aspects of ArangoDB which is a major contender in the landscape of graph databases. Starting with the basics of ArangoDB which focuses on the installation and basic concepts of ArangoDB, it gradually moves on to advanced topics such as CRUD operations and AQL. The last few chapters in this tutorial will help you understand how to deploy ArangoDB as a single instance and/or using Docker. Audience This tutorial is meant for those who are interested in learning ArangoDB as a Multimodel Database. Graph databases are spreading like wildfire across the industry and are making an impact on the development of new generation applications. So anyone who is interested in learning different aspects of ArangoDB, should go through this tutorial. Prerequisites Before proceeding with this tutorial, you should have the basic knowledge of Database, SQL, Graph Theory, and JavaScript. Copyright & Disclaimer Copyright 2018 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher.
    [Show full text]
  • Drawing-A-Database-Schema.Pdf
    Drawing A Database Schema Padraig roll-out her osteotome pluckily, trillion and unacquainted. Astronomic Dominic haemorrhage operosely. Dilative Parrnell jury-rigging: he bucketing his sympatholytics tonishly and litho. Publish your schema. And database user schema of databases in berlin for your drawing created in a diagram is an er diagram? And you know some they say, before what already know. You can generate the DDL and modify their hand for SQLite, although to it ugly. How can should improve? This can work online, a record is crucial to reduce faults in. The mouse pointer should trace to an icon with three squares. Visual Database Creation with MySQL Workbench Code. In database but a schema pronounced skee-muh or skee-mah is the organisation and structure of a syringe Both schemas and. Further more complex application performance, concept was that will inform your databases to draw more control versions. Typically goes in a schema from any sql for these terms of maintenance of the need to do you can. Or database schemas you draw data models commonly used to select all databases by drawing page helpful is in a good as methods? It is far to bath to target what suits you best. Gallery of training courses. Schema for database schema for. Help and Training on mature site? You can jump of ER diagrams as a simplified form let the class diagram and carpet may be easier for create database design team members to. This token will be enrolled in quickly create drawings by enabled the left side of the process without realising it? Understanding a Schema in Psychology Verywell Mind.
    [Show full text]
  • Multi-Model Database Management Systems - a Look Forward Zhen Hua Liu 1 , Jiaheng Lu2, Dieter Gawlick1, Heli Helskyaho2,3
    Multi-Model Database Management Systems - a Look Forward Zhen Hua Liu 1 , Jiaheng Lu2, Dieter Gawlick1, Heli Helskyaho2,3 Gregory Pogossiants4, Zhe Wu1 1Oracle Corporation 2University of Helsinki 3Miracle Finland Oy 4Soulmates.ai Abstract. The existence of the variety of data models and their associated data processing technologies make data management extremely complex. In this paper, we envision a single Multi-Model DataBase Management Systems (MMDBMS) providing declarative accesses to a variety of data models. We briefly review the history of the evolution of the DBMS technology to derive requirements of MMDBMSs and then we illustrate our ideas of building MMDBMSs satisfying those requirements. Since the relational algebra is not powerful enough to provide a mathematical foundation for MMDBMSs, we promote the category theory as a new theoretical foundation, which is a generalization of the set theory. We also suggest a set of shared data infrastructure services among data models to support “Just-In-Time” multi-model data access autonomously. 1 INTRODUCTION – why MMDBMS? Here is a short history of databases: Initially, database management systems sup- ported the hierarchical and the network model (e.g., IBM’s IMS and GE’s IDS re- spectively). These databases evolved very fast and developed the core infrastructures, such as journaling, transactions, locking, 2PC (group and fast commit), recovery, restart, fault tolerance, high performance, TP-monitors, messaging, main storage da- tabases, and much, much more. We still use these concepts today. In the 80’ and 90’, these databases were widely replaced by the relational database management systems (RDBMS). The main argument is its solid theoretical foundation: set based relational data model and declarative query language (SQL) based on abstract algebra over set processing.
    [Show full text]
  • Noxperanto: Crowdsourced Polyglot Persistence Antonio Maccioni, Orlando Cassano, Yongming Luo, Juan Castrejón, Genoveva Vargas-Solar
    NoXperanto: Crowdsourced Polyglot Persistence Antonio Maccioni, Orlando Cassano, Yongming Luo, Juan Castrejón, Genoveva Vargas-Solar To cite this version: Antonio Maccioni, Orlando Cassano, Yongming Luo, Juan Castrejón, Genoveva Vargas-Solar. NoX- peranto: Crowdsourced Polyglot Persistence. Polibits, 2014, 50, pp.43 - 48. 10.17562/PB-50-6. hal-01584798 HAL Id: hal-01584798 https://hal.archives-ouvertes.fr/hal-01584798 Submitted on 11 Sep 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. NoXperanto: Crowdsourced Polyglot Persistence Antonio Maccioni, Orlando Cassano, Yongming Luo, Juan Castrejon,´ and Genoveva Vargas-Solar Abstract—This paper proposes NOXPERANTO, a novel modern application development [2], [3]. They enable the crowdsourcing approach to address querying over data integration of these data stores for managing big datasets in collections managed by polyglot persistence settings. The main a scalable and loosely coupled way. This approach seems to contribution of NOXPERANTO is the ability to solve complex queries involving different data stores by exploiting queries be a pertinent strategy to deal with big datasets integration. from expert users (i.e. a crowd of database administrators, data Nonetheless, the combination of these heterogeneous data engineers, domain experts, etc.), assuming that these users can stores, flexible schemas and non-standard APIs, represent an submit meaningful queries.
    [Show full text]
  • Database Models
    Enterprise Architect User Guide Series Database Models The Sparx Systems Enterprise Architect Database Builder helps visualize, analyze and design system data at conceptual, logical and physical levels, generate database objects from a model using customizable Transformations, and reverse engineer a DBMS. Author: Sparx Systems Date: 16/01/2019 Version: 1.0 CREATED WITH Table of Contents Database Models 4 Data Modeling Overview 5 Conceptual Data Model 7 Logical Data Model 8 Entity Relationship Diagrams (ERDs) 9 Physical Data Models 13 Database Modeling 15 Create a Data Model from a Model Pattern 16 Create a Data Model Diagram 18 Example Data Model Diagram 20 The Database Builder 22 Opening the Database Builder 24 Working in the Database Builder 26 Columns 30 Create Database Table Columns 31 Delete Database Table Columns 33 Reorder Database Table Columns 34 Constraints/Indexes 35 Database Table Constraints/Indexes 36 Primary Keys 39 Database Indexes 42 Unique Constraints 45 Foreign Keys 46 Check Constraints 50 Table Triggers 52 SQL Scratch Pad 54 Database Compare 56 Execute DDL 62 Database Objects 65 Database Tables 66 Create a Database Table 68 Database Table Columns 70 Create Database Table Columns 71 Delete Database Table Columns 73 Reorder Database Table Columns 74 Working with Database Table Properties 75 Set the Database Type 76 Set Database Table Owner/Schema 77 Set MySQL Options 78 Set Oracle Database Table Properties 79 Database Table Constraints/Indexes 80 Primary Keys 83 Non Clustered Primary Keys 86 Database Indexes 87 Unique
    [Show full text]
  • Examples of Relational Database Model
    Examples Of Relational Database Model Discerning Ajai never dally so hardheadedly or die-cast any macaronics warily. Flutiest Noble necessitating: he syllabicating his magnificoes inexplicably and deprecatorily. Taliped Ram zeroes, his decerebration revving strangle verbally. Several products exist to support such databases. Simply click the image would make changes online. Note that a constraint implies an index on the same label and property. So why should we use a database? Gain new system that data typing sql programs operate, documents can write business logic in relational database examples of organization might like i have all elements which is. In sql and domains like spreadsheet, difference and gathering data? DRDA enables network connected relational databases to cooperate to fulfill SQL requests. So what is our use case? And because these databases are expensive, you tend to put everything in there. Individual tables to? It will take us a couple of weeks going over these skills and concepts. When there is a one to one relationship, one of two actions typically occur. In database examples of relational model was one. Graph models and graph queries are two sides of pain same coin. Some research data stores replicate a given blob across multiple server nodes, which enables fast parallel reads. Why relational structure of relational schema? Each model database model? But what if item prices were negotiated on each order or there were special promotions? Other data on database relational databases went from. The domain is better user not relational model support multiple bills in other. There is called relation which columns? In english as a model developed procedures for example, music collection of models are generic visual basic skill every tuple, it natural join.
    [Show full text]
  • Relational Database Fundamentals
    05_04652x ch01.qxp 7/10/06 1:45 PM Page 7 Chapter 1 Relational Database Fundamentals In This Chapter ᮣ Organizing information ᮣ Defining database ᮣ Defining DBMS ᮣ Comparing database models ᮣ Defining relational database ᮣ Considering the challenges of database design QL (pronounced ess-que-ell, not see’qwl) is an industry-standard language Sspecifically designed to enable people to create databases, add new data to databases, maintain the data, and retrieve selected parts of the data. Various kinds of databases exist, each adhering to a different conceptual model. SQL was originally developed to operate on data in databases that follow the relational model. Recently, the international SQL standard has incorporated part of the object model, resulting in hybrid structures called object-relational databases. In this chapter, I discuss data storage, devote a section to how the relational model compares with other major models, and provide a look at the important features of relational databases. Before I talk about SQL, however, I need to nail down what I mean by the term database. Its meaning has changed as computers have changed the way people record and maintain information. COPYRIGHTED MATERIAL Keeping Track of Things Today, people use computers to perform many tasks formerly done with other tools. Computers have replaced typewriters for creating and modifying documents. They’ve surpassed electromechanical calculators as the best way to do math. They’ve also replaced millions of pieces of paper, file folders, and file cabinets as the principal storage medium for important information. Compared to those old tools, of course, computers do much more, much faster — and with greater accuracy.
    [Show full text]
  • PDDM: a Database Design Method for Polyglot Persistence
    American Scientific Research Journal for Engineering, Technology, and Sciences (ASRJETS) ISSN (Print) 2313-4410, ISSN (Online) 2313-4402 © Global Society of Scientific Research and Researchers http://asrjetsjournal.org/ PDDM: A Database Design Method for Polyglot Persistence Cristofer Zdepskia, Tarcizio Alexandre Binib*, Simone Nasser Matosc a,b,cFederal University of Technology – Parana (UTFPR), Address Doutor Washington Subtil Chueire,330- Jardim Carvalho, Ponta Grossa, 84017-220, Parana, Brazil aEmail: [email protected] bEmail: [email protected] cEmail: [email protected] Abstract Databases by Web 2.0 has revealed the limitations of the relational model related to scalability. This led to the emergence of NoSQL databases, with data storage models other than relational ones. These databases propose solutions to such limitations through horizontal scalability and partially compromise data consistency. The combination of multiple data models, called polyglot persistence, extends these solutions by providing resources for the implementation of complex systems that have components with distinct requirements that would not be possible by the use of only one data model in a satisfactory way. However, there are no consolidated methods for the NoSQL database design and neither methods for design systems that apply the polyglot persistence. This work proposes a database design method applied to systems that use polyglot persistence, combining different data models. This method can be applied to the relational model and aggregate-oriented NoSQL data models. The method defines a set of sub-steps based on the existing concepts of database design. The goal is to define a formal process to assist in defining the data models to be used and to transform the conceptual design into a logical design.
    [Show full text]