Polyglot Persistence

Total Page:16

File Type:pdf, Size:1020Kb

Polyglot Persistence THE NOSQL MOUVEMENT (2) GENOVEVA VARGAS SOLAR FRENCH COUNCIL OF SCIENTIFIC RESEARCH, LIG-LAFMIA, FRANCE [email protected] http://www.vargas7solar.com/bigdata7managment0 THE NOSQL FAMILY NoSQL& Graph& Document& Key5value&store& ! NoSQL concerns document databases, key-value databases and graph databases 2 GRAPH DATABASE ! Use graph structures with nodes, edges, and properties to represent and store data ! Nodes are similar in nature to the objects that object-oriented programmers are familiar with ! Properties are pertinent information that relate to nodes ! Edges are the lines that connect nodes to nodes or nodes to properties and they represent the relationship between the two ! By definition, a graph database is any storage system that provides index-free adjacency ! Every element contains a direct pointer to its adjacent element ! No index lookups are necessary 3 Takahiro Inoue, MongoDB leader, slideshare GRAPH 4 Takahiro Inoue, MongoDB leader, slideshare UNDIRECTED GRAPH 5 Takahiro Inoue, MongoDB leader, slideshare DIRECTED GRAPH 6 Takahiro Inoue, MongoDB leader, slideshare 7 Takahiro Inoue, MongoDB leader, slideshare MIXED GRAPH, MULTIGRAPH 8 Takahiro Inoue, MongoDB leader, slideshare SINGLE RELATIONAL GRAPH 9 Takahiro Inoue, MongoDB leader, slideshare MULTI RELATIONAL GRAPH 10 Takahiro Inoue, MongoDB leader, slideshare 11 Takahiro Inoue, MongoDB leader, slideshare 12 Takahiro Inoue, MongoDB leader, slideshare PROPERTY GRAPH 13 Takahiro Inoue, MongoDB leader, slideshare 14 Takahiro Inoue, MongoDB leader, slideshare PROPERTY GRAPH: SUMMARY 15 Takahiro Inoue, MongoDB leader, slideshare GRAPH TRAVERSALS 16 Takahiro Inoue, MongoDB leader, slideshare GRAPH TRAVERSALS 17 THE NOSQL FAMILY NoSQL& Graph& 18 DOCUMENT DATABASE ! Computer program designed for storing, retrieving, and managing document-oriented, or semi structured data, information ! Document encapsulates and encodes data (or information) in some standard formats or encodings. ! XML, YAML, JSON, and BSON, as well as binary forms like PDF and Microsoft Office documents (MS Word, Excel, and so on) ! Similar, in some ways, to records or rows, in relational databases, but they are less rigid. ! Not required to adhere to a standard schema nor will they have all the same sections, slots, parts, keys, or the like 19 ORGANIZATION AND ACCESS ! Organizing documents, include notions of Collections,0Tags,0Non7visible0 Metadata,0Directory0hierarchies,0Buckets0 ! Documents are addressed in the database via a unique key that represents that document ! This key is a simple string e.g., URI or path ! This key can be used to retrieve the document from the database ! The database retains an index on the key such that document retrieval is fast ! Simple key-document (or key-value) lookup to retrieve a document, ! the database offers an API or query language to retrieve documents based on their contents ! For example, you may want a query that gets you all the documents with a certain field set to a certain value 20 DATA MODEL: DOCUMENT ! An object with named attributes and «attachments»: ! Identified by one unique ID and a version number ! Different data types: Text, numbers, booleans, dates, lists, maps ! Does not use locks for dealing with concurrency control: conflicts can be merged ! Examples: ! “Title”:0“CouchDB:0The0Definitive0Guide:0Time0to0Relax0(Animal0Guide)”0 ! “Authors”:0[“Chris0Anderson”,0“Jan0Lehnardt”,0“Noah0Slater”]0 ! “Keywords”:0[“NoSQL0databases”,0“Document0databases”]0 21 11/01/15 FLEXIBLE DOCUMENT STRUCTURE ! Can represent different classes of tag as documents ! Both documents can be inserted in the same collection 22 SIMPLE QUERY ! db.tags.find({id:0“tone/obituaries”})0 ! Query&operators&(cf.&h<p://docs.mongodb.org/manual/crud/)&& ! db.tags.find({“section”:0{$exists:0true}})0 ! db.tags.find({“webtitle”:0/^Obit*/i})0 23 MODIFYING THE DOCUMENT STRUCTURE 24 THE NOSQL FAMILY NoSQL& Document& 25 DEMO: COUCHDB 26 THE NOSQL FAMILY Eventually5consistent& NoSQL& Hierarchical& Hosted&services& MulIvalue&databases& Key5value&store& ObJect&databases& Stores&on&disk& Tabular& Ordered&stores& Tuple& 27 • Data$model$$ • Availability$$ • Consistency$$ • Query$support$ • Storage$$ • Durability$$ Data&stores&designed&&to&scale&simple&& OLTP5style&applicaIon&loads&& Read/Write$operations00 by0thousands/millions0of0users0 28 Use the right tool for the right job… How do I know which is the right tool for the right job? (Katsov-2012) 29 PROBLEM STATEMENT: HOW MUCH TO GIVE UP? Fault7tolerant00 partitioning0 Availability0 Consistency0 ! CAP theorem1: a system can have two of the three properties ! NoSQL systems sacrifice consistency 30 10Eric0Brewer,0"Towards0robust0distributed0systems."0PODC.020000http://www.cs.berkeley.edu/~brewer/cs262b72004/PODC7keynote.pdf00 COMPARING NOSQL & NEWSQL SYSTEMS SYSTEM CONCURRENCY DATA REPLICATION TRANSACTION SYSTEM CONCURRENCY DATA REPLICATION TRANSACTION CONTROL STORAGE CONTROL STORAGE Redis Locks RAM Asynchronous No Terrastore Locks RAM+ Synchronous L Scalaris Locks RAM Synchronous Local Hbase Locks HADOOP Asynchronous L Tokyo Locks RAM/Disk Asynchronous Local HyperTable Locks Files Synchronous L Voldemort MVCC RAM/BDB Asynchronous No Cassandra MVCC Disk Asynchronous L BigTable Locs+stamps GFS Both L Riak MVCC Plug in Asynchronous No Key7Value0 PNuts MVCC Disk Asynchronous L Membrain Locks Flash+Disk Synchronous Local Extended0records0 MySQL-C ACID Disk Synchronous Y Membase Locks Disk Synchronous Local VoltDB ACID/no Lock RAM Synchronous Y Dynamo MVCC Plug in Asynchronous No Clustrix ACID/no Lock Disk Synchronous Y SimpleDB Non S3 Asynchronous No ScaleDB ACID Disk Synchronous Y MongoDB Locks Disk Asynchronous No ScaleBase ACID Disk Asynchronous Y Relational0 Document0 CouchDB MVCC Disk Asynchronous No NimbusDB ACID/no Lock Disk Synchronous Y Cattell,0Rick.0"Scalable0SQL0and0NoSQL0data0stores."0ACM0SIGMOD0Record039.40(2011):0127270 31 CONCLUSIONS ! Data are growing big and more heterogeneous and they need new adapted ways to be managed thus the NoSQL movement is gaining momentum ! Data heterogeneity implies different management requirements this is where polyglot persistence comes up ! Consistency – Availability – Fault tolerance theorem: find the balance ! ! Which data store according to its data model? ! A lot of programming implied … Open opportunities if you’re interested in this topic! 32 POLYGLOT PERSISTENCE GENOVEVA VARGAS SOLAR FRENCH COUNCIL OF SCIENTIFIC RESEARCH, LIG-LAFMIA, FRANCE [email protected] http://www.vargas7solar.com0 34 THIS TALK IS ABOUT alternative for managing multiform and multimedia data collections according to different properties and requirements 35 36 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 look at other alternatives M.0Fowler0and0P.0Sadalage.0NoSQL&Distilled:&A&Brief&Guide&to&the&Emerging&World&of&Polyglot&Persistence.0Pearson0Education,0Limited,020120 37 DESIGNING AND BUILDING A POLYGLOT DATABASE 38 OBJECTIVE MyNet0App0 MyNet0DB0 Social0network0 ! Build a MyNet app based on a polyglot database for building an integrated directory of my contacts including their status and posts from several social networks 39 Integrating posts Directory synchronisation Contact graph traversal User sessions in different from all networks Social networks Integrating contacts’ information For building groups out of From all SN Common characteristics Analysis on contacts networks, overlapping according to interests, posts topics Top 10 most popular contacts Synchronizing posts to all Friends network User accounts activity SN In different social networks 40 DEPLOYING A POLYGLOT DATABASE 41 Phone' *' Post' Content' number:(String( type:({pers,(prof}( postID:(Integer( contentID:(Integer( '>>' *' timeStamp:(Date( 1' 1' text:(String( geoStamp:(String( image:(Jpeg( <<'hasContent'>>' video:(Avi( '>>' *' MULTI-CLOUD POLYGLOT DATABASE hasMobilePhones <<'publishesPost'>>' Phone' <<' 1' 1' *' Contact' Post' hasOtherPhones Content' Basic(Info( number:(String( <<' idContact:(Integer( type:({pers,(prof}( 1' lastName:(String( <<'hasBasicInfo'>>'webSite:(URI( givenName:(String( socialNetworkIDpostID:(URI((:(Integer( contentID:(Integer( '>>' *' MyNet0 society:(String( 1' *' ( timeStamp:(Date( 1' 1' text:(String( *' 0 geoStamp:(String( image:(Jpeg( 1' <<'hasContent'>>' 1' *' 1' video:(Avi( '>>' <<'isContactof'>>' '>>' <<'hasEmail'>>' <<'isComposedof'>>' *' *' hasAddress 1' <<'publishesPost'>>' hasMobilePhones *' <<' Email' Group' <<' Address' 1' email:(String( 1' Phone' groupName:(String( type:({pers,(prof}( street:(String,(( Contact' hasOtherPhones *' number:(Integer,( Basic(Info( Post' Content' number:(String( City:(Sting,(( <<' type:({pers,(prof}( Zipcode:(Integer( idContact:(Integer( postID:(Integer( contentID:(Integer( '>>' *' lastName:(String( webSite:(URI( 1' timeStamp:(Date( 1' 1' text:(String( <<'hasBasicInfo'>>' geoStamp:(String( image:(Jpeg( givenName:(String( socialNetworkID:(URI(( <<'hasContent'>>' video:(Avi( society:(String( 1' *' ( REST0 '>>' *' *' hasMobilePhones MyNetContacts0 <<'publishesPost'>>' 1' <<' 1' *' 1' 1' '>>' 1' Contact' hasOtherPhones <<'isContactof'>>'
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]
  • 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]