Nosql Distilled: a Brief Guide to the Emerging World of Polyglot Persistence

Total Page:16

File Type:pdf, Size:1020Kb

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. ISBN 978-0-321-82662-6 (pbk. : alk. paper) -- ISBN 0-321-82662-0 (pbk. : alk. paper) 1. Databases--Technological innovations. 2. Information storage and retrieval systems. I. Fowler, Martin, 1963- II. Title. QA76.9.D32S228 2013 005.74--dc23 Copyright © 2013 Pearson Education, Inc. All rights reserved. Printed in the United States of America. This publication is protected by copyright, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. To obtain permission to use material from this work, please submit a written request to Pearson Education, Inc., Permissions Department, One Lake Street, Upper Saddle River, New Jersey 07458, or you may fax your request to (201) 236–3290. ISBN-13: 978-0-321-82662-6 ISBN-10: 0-321-82662-0 Text printed in the United States on recycled paper at RR Donnelley in Crawfordsville, Indiana. Third printing, September 2013 For my teachers Gajanan Chinchwadkar, Dattatraya Mhaskar, and Arvind Parchure. You inspired me the most, thank you. —Pramod For Cindy —Martin This page intentionally left blank Contents Preface ........................................................................................................ xiii Part I: Understand .......................................................................................... 1 Chapter 1: Why NoSQL? ....................................................................... 3 1.1 The Value of Relational Databases ............................................ 3 1.1.1 Getting at Persistent Data .................................................... 3 1.1.2 Concurrency ...................................................................... 4 1.1.3 Integration ......................................................................... 4 1.1.4 A (Mostly) Standard Model .................................................. 4 1.2 Impedance Mismatch ................................................................ 5 1.3 Application and Integration Databases ...................................... 6 1.4 Attack of the Clusters ................................................................ 8 1.5 The Emergence of NoSQL ......................................................... 9 1.6 Key Points ................................................................................ 12 Chapter 2: Aggregate Data Models ...................................................... 13 2.1 Aggregates ............................................................................... 14 2.1.1 Example of Relations and Aggregates .................................... 14 2.1.2 Consequences of Aggregate Orientation ................................ 19 2.2 Key-Value and Document Data Models ................................... 20 2.3 Column-Family Stores ............................................................. 21 2.4 Summarizing Aggregate-Oriented Databases ........................... 23 2.5 Further Reading ....................................................................... 24 2.6 Key Points ................................................................................ 24 Chapter 3: More Details on Data Models ............................................. 25 3.1 Relationships ........................................................................... 25 3.2 Graph Databases ..................................................................... 26 vii viii Contents 3.3 Schemaless Databases .............................................................. 28 3.4 Materialized Views .................................................................. 30 3.5 Modeling for Data Access ........................................................ 31 3.6 Key Points ................................................................................ 36 Chapter 4: Distribution Models ........................................................... 37 4.1 Single Server ............................................................................ 37 4.2 Sharding .................................................................................. 38 4.3 Master-Slave Replication ......................................................... 40 4.4 Peer-to-Peer Replication ........................................................... 42 4.5 Combining Sharding and Replication ...................................... 43 4.6 Key Points ................................................................................ 44 Chapter 5: Consistency ........................................................................ 47 5.1 Update Consistency ................................................................. 47 5.2 Read Consistency ..................................................................... 49 5.3 Relaxing Consistency ............................................................... 52 5.3.1 The CAP Theorem .............................................................. 53 5.4 Relaxing Durability ................................................................. 56 5.5 Quorums ................................................................................. 57 5.6 Further Reading ....................................................................... 59 5.7 Key Points ................................................................................ 59 Chapter 6: Version Stamps ................................................................... 61 6.1 Business and System Transactions ............................................ 61 6.2 Version Stamps on Multiple Nodes .......................................... 63 6.3 Key Points ................................................................................ 65 Chapter 7: Map-Reduce ....................................................................... 67 7.1 Basic Map-Reduce ................................................................... 68 7.2 Partitioning and Combining ..................................................... 69 7.3 Composing Map-Reduce Calculations ..................................... 72 7.3.1 A Two Stage Map-Reduce Example ...................................... 73 7.3.2 Incremental Map-Reduce ..................................................... 76 7.4 Further Reading ....................................................................... 77 7.5 Key Points ................................................................................ 77 Part II: Implement ........................................................................................ 79 Chapter 8: Key-Value Databases .......................................................... 81 8.1 What Is a Key-Value Store ....................................................... 81 8.2 Key-Value Store Features ......................................................... 83 Contents ix 8.2.1 Consistency ....................................................................... 83 8.2.2 Transactions ...................................................................... 84 8.2.3 Query Features ................................................................... 84 8.2.4 Structure of Data ................................................................ 86 8.2.5 Scaling .............................................................................. 86 8.3 Suitable Use Cases ................................................................... 87 8.3.1 Storing Session Information ................................................. 87 8.3.2 User Profiles, Preferences ..................................................... 87 8.3.3 Shopping Cart Data ............................................................ 87 8.4 When Not to Use ..................................................................... 87 8.4.1 Relationships among Data ..................................................
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]
  • 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]
  • 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]
  • 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]
  • A Big Data Roadmap for the DB2 Professional
    A Big Data Roadmap For the DB2 Professional Sponsored by: align http://www.datavail.com Craig S. Mullins Mullins Consulting, Inc. http://www.MullinsConsulting.com © 2014 Mullins Consulting, Inc. Author This presentation was prepared by: Craig S. Mullins President & Principal Consultant Mullins Consulting, Inc. 15 Coventry Ct Sugar Land, TX 77479 Tel: 281-494-6153 Fax: 281.491.0637 Skype: cs.mullins E-mail: [email protected] http://www.mullinsconsultinginc.com This document is protected under the copyright laws of the United States and other countries as an unpublished work. This document contains information that is proprietary and confidential to Mullins Consulting, Inc., which shall not be disclosed outside or duplicated, used, or disclosed in whole or in part for any purpose other than as approved by Mullins Consulting, Inc. Any use or disclosure in whole or in part of this information without the express written permission of Mullins Consulting, Inc. is prohibited. © 2014 Craig S. Mullins and Mullins Consulting, Inc. (Unpublished). All rights reserved. © 2014 Mullins Consulting, Inc. 2 Agenda Uncover the roadmap to Big Data… the terminology and technology used, use cases, and trends. • Gain a working knowledge and definition of Big Data (beyond the simple three V's definition) • Break down and understand the often confusing terminology within the realm of Big Data (e.g. polyglot persistence) • Examine the four predominant NoSQL database systems used in Big Data implementations (graph, key/value, column, and document) • Learn some of the major differences between Big Data/NoSQL implementations vis-a-vis traditional transaction processing • Discover the primary use cases for Big Data and NoSQL versus relational databases © 2014 Mullins Consulting, Inc.
    [Show full text]
  • Multi-Model Databases: a New Journey to Handle the Variety of Data
    0 Multi-model Databases: A New Journey to Handle the Variety of Data JIAHENG LU, Department of Computer Science, University of Helsinki IRENA HOLUBOVA´ , Department of Software Engineering, Charles University, Prague The variety of data is one of the most challenging issues for the research and practice in data management systems. The data are naturally organized in different formats and models, including structured data, semi- structured data and unstructured data. In this survey, we introduce the area of multi-model DBMSs which build a single database platform to manage multi-model data. Even though multi-model databases are a newly emerging area, in recent years we have witnessed many database systems to embrace this category. We provide a general classification and multi-dimensional comparisons for the most popular multi-model databases. This comprehensive introduction on existing approaches and open problems, from the technique and application perspective, make this survey useful for motivating new multi-model database approaches, as well as serving as a technical reference for developing multi-model database applications. CCS Concepts: Information systems ! Database design and models; Data model extensions; Semi- structured data;r Database query processing; Query languages for non-relational engines; Extraction, trans- formation and loading; Object-relational mapping facilities; Additional Key Words and Phrases: Big Data management, multi-model databases, NoSQL database man- agement systems. ACM Reference Format: Jiaheng Lu and Irena Holubova,´ 2019. Multi-model Databases: A New Journey to Handle the Variety of Data. ACM CSUR 0, 0, Article 0 ( 2019), 38 pages. DOI: http://dx.doi.org/10.1145/0000000.0000000 1.
    [Show full text]
  • Nosql Distilled: a Brief Guide to the Emerging World of Polyglot
    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. ISBN 978-0-321-82662-6 (pbk.
    [Show full text]
  • Polyglot Persistence: Handling Multiple Datastores
    Vol-2 Issue-6 2016 IJARIIE-ISSN(O)-2395-4396 Polyglot Persistence: Handling Multiple Datastores Ms. Namrata Rawal1, Ms. Vatika Sharma2 1PG Student, Network Security, GTU PG School, Ahmedabad, Gujarat, India 2I-verve Infoweb Company Ahmedabad, Gujarat, India ABSTRACT Handling Big Data means to handle huge databases. Although we have seen that we are handling reltaional data or non-relational data at a time using Map Reduce framework. In other words we can say that handling of multiple datastores cannot be done at a time. So, polyglot persistence come into place to handle it. This paper focuses on Polyglot persistence it is the term that used to describe different data storage technologies to handle multiple data stores at a same time. Keywords:-Polyglot persistence, Hadoop, MR, oracle cloud, NoSQL 1. INTRODUCTION Handling Big Data means to handle a huge amount of database without any restrictions of relational databases (data storage in form of rows and columns) so; it begins the concept of NoSQL databases to handle non-relational databases on an oracle cloud with no restrictions. 2. MOTIVTAION Honestly speaking there is nothing new under the Sun. Integration has been a problem that we have faced for 40-plus years in IT. But there are many new ways to handle a problem. So the role is shaped from SOA (Service Oriented Architecture) on the cloud. Another one perspective is big data is also coming in, so the problem is how to integrate that data whether by using historical perspective or from data mining an analytical perspective. So a question arises how we deal or handle huge volumes of data.
    [Show full text]
  • Polyglot Database Architectures = Polyglot Challenges
    Polyglot database architectures = polyglot challenges Lena Wiese Institute of Computer Science University of G¨ottingen Goldschmidtstraße 7 37077 G¨ottingen, Germany [email protected] Abstract. We categorize polyglot database architectures into three types (polyglot persistence, lambda architecture and multi-model databases) and discuss their advantages and disadvantages. 1 Polyglot Database Architectures When designing the data management layer for an application, several database requirements may be contradictory. For example, regarding access patterns some data might be accessed by write-heavy workloads while others are accessed by read-heavy workloads. Regarding the data model, some data might be of a dif- ferent structure than other data; for example, in an application processing both social network data and order or billing data, the former might usually be graph- structured while the latter might be semi-structured data. Regarding the access method, a web application might want to access data via a REST interface while another application might prefer data access with query language. It is hence worthwhile to consider a database and storage architecture that includes all these requirements. We describe three option for polyglot database architectures in the following three sections. 1.1 Polyglot Persistence Instead of choosing just one single database management system to store the en- tire data, so-called polyglot persistence could be a viable option to satisfy all requirements towards a modern data management infrastructure. Polyglot per- sistence (a term coined in [4]) denotes that one can choose as many databases as needed so that all requirements are satisfied. Polyglot persistence can in partic- ular be an optimal solution when backward-compatibility with a legacy appli- cation must be ensured.
    [Show full text]
  • POLYGLOT PERSISTENCE for ADDRESSING DATA MANAGEMENT on the CLOUD Genoveva Vargas-Solar, CNRS, LIG-LAFMIA, Juan Carlos Castrejon, U
    POLYGLOT PERSISTENCE FOR ADDRESSING DATA MANAGEMENT ON THE CLOUD Genoveva Vargas-Solar, CNRS, LIG-LAFMIA, Juan Carlos Castrejon, U. de Grenoble, Christine Collet, Grenoble INP, Rafael Lozano, ITESM-CCM [email protected] http://vargas-solar.imag.fr DATA MANAGEMENT WITH RESOURCES CONSTRAINTS STORAGE SUPPORT RAM ARCHITECTURE & RESOURCES AWARE Algorithms Systems Efficiently manage and exploit data sets according to given specific storage, memory and computation resources 2 DATA MANAGEMENT WITHOUT RESOURCES CONSTRAINTS ELASTIC COSTAWARE Algorithms Systems Costly manage and exploit data sets according to unlimited storage, memory and computation resources 3 DEALING WITH HUGE AMOUNTS OF DATA Yota 1024 Cloud Zetta 1021 Exa 1018 RAID Peta 1015 Disk 4 DEALING WITH HUGE AMOUNTS OF DATA Relational Graph Yota 1024 Key value Columns Cloud Zetta 1021 Exa 1018 RAID Concurrency 15 Peta 10 Consistency Disk Atomicity 5 6 7 8 9 ROADMAP DATA ALL POLYGLOT PUTTING CONCLUSION AROUND IN THE PERSISTENCE POLYGLOT AND OUTLOOK ERA OF THE PERSISTENCE IN CLOUD PRACTICE 10 POLYGLOT PERSISTENCE • Polyglot Programming: applications should be written in a mix of languages to take advantage of different languages are suitable for tackling different problems • Polyglot persistence: any decent sized enterprise will have a variety of different data storage technologies for different kinds of data • a new strategic enterprise application should no longer be built assuming a relational persistence support • the relational option might be the right one - but you should seriously
    [Show full text]
  • An Approach for Modeling Polyglot Persistence
    An Approach for Modeling Polyglot Persistence Cristofer Zdepski, Tarcizio Alexandre Bini and Simone Nasser Matos Federal Technological University of Parana, Av Monteiro Lobato, s/n - Km 04, 84016210, Ponta Grossa, Parana, Brazil Keywords: NoSQL, Database Design, Polyglot Persistence, Logical Level Design. Abstract: The emergence of NoSQL databases has greatly expanded database systems in both storage capacity and performance. To make use of these capabilities many systems have integrated these new data models into existing applications, making use of multiple databases at the same time, forming a concept called ”Polyglot Persistence”. However, the lack of a methodology capable of unifying the design of these integrated data models makes design a difficult task. To overcome this lack, this paper proposes a modeling methodology capable of unifying design patterns for these integrated databases, bringing an overview of the system, as well as a detailed view of each database design. 1 INTRODUCTION cations also brings out some weaknesses of the relati- onal model by working with static schemas. The popularization of Web 2.0 brought an dramati- Inspired by this limitations, NoSQL databases cally increase in data generation. Nowadays databa- have emerged as the solution to the growing need ses easily exceed petabytes scale, with daily increase of systems for information. As they expand over rates in the terabytes scale. As an example we can the Internet its data increases even faster. Accor- take the Facebook database, which in 2014 had a size ding to (Sadalage and Fowler, 2012) and (Cattell, of 300 petabytes, and a daily increase rate of 600 tera- 2011) the biggest goal of NoSQL databases is their bytes, according to (Wilfong and Vagata, 2014).
    [Show full text]