[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
Skip header Section
NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot PersistenceAugust 2012
Publisher:
  • Addison-Wesley Professional
ISBN:978-0-321-82662-6
Published:08 August 2012
Pages:
192
Skip Bibliometrics Section
Reflects downloads up to 25 Jan 2025Bibliometrics
Skip Abstract Section
Abstract

The need to handle increasingly larger data volumes is one factor driving the adoption of a new class of nonrelational NoSQL databases. Advocates of NoSQL databases claim they can be used to build systems that are more performant, scale better, and are easier to program. NoSQL Distilled is a concise but thorough introduction to this rapidly emerging technology. Pramod J. Sadalage and Martin Fowler explain how NoSQL databases work and the ways that they may be a superior alternative to a traditional RDBMS. The authors provide a fast-paced guide to the concepts you need to know in order to evaluate whether NoSQL databases are right for your needs and, if so, which technologies you should explore further. The first part of the book concentrates on core concepts, including schemaless data models, aggregates, new distribution models, the CAP theorem, and map-reduce. In the second part, the authors explore architectural and design issues associated with implementing NoSQL. They also present realistic use cases that demonstrate NoSQL databases at work and feature representative examples using Riak, MongoDB, Cassandra, and Neo4j. In addition, by drawing on Pramod Sadalages pioneering work, NoSQL Distilled shows how to implement evolutionary design with schema migration: an essential technique for applying NoSQL databases. The book concludes by describing how NoSQL is ushering in a new age of Polyglot Persistence, where multiple data-storage worlds coexist, and architects can choose the technology best optimized for each type of data access.

Cited By

  1. ACM
    Liu Z and Chen S (2023). Pea Hash: A Performant Extendible Adaptive Hashing Index, Proceedings of the ACM on Management of Data, 1:1, (1-25), Online publication date: 26-May-2023.
  2. Kaoudi Z and Quiané-Ruiz J (2022). Unified data analytics, Proceedings of the VLDB Endowment, 15:12, (3778-3781), Online publication date: 1-Aug-2022.
  3. Kiehn F, Schmidt M, Glake D, Panse F, Wingerath W, Wollmer B, Poppinga M and Ritter N (2022). Polyglot data management, Proceedings of the VLDB Endowment, 15:12, (3750-3753), Online publication date: 1-Aug-2022.
  4. Herden O Architectural Patterns for Integrating Data Lakes into Data Warehouse Architectures Big Data Analytics, (12-27)
  5. Stiemer A, Vogt M, Schuldt H and Störl U PolyMigrate: Dynamic Schema Evolution and Data Migration in a Distributed Polystore Heterogeneous Data Management, Polystores, and Analytics for Healthcare, (42-53)
  6. ACM
    Menzin M, Mohan S, Musicant D and Sooriamurthi R NoSQL in Undergrad Courses is NoProblem Proceedings of the 51st ACM Technical Symposium on Computer Science Education, (962-963)
  7. Schreiner G, Duarte D and dos Santos Mello R (2019). Bringing SQL databases to key-based NoSQL databases: a canonical approach, Computing, 102:1, (221-246), Online publication date: 1-Jan-2020.
  8. Vial G (2019). Lessons in Persisting Object Data Using Object-Relational Mapping, IEEE Software, 36:6, (43-52), Online publication date: 1-Nov-2019.
  9. ACM
    Azevedo L, Ferreira R, Silva V, de Bayser M, Soares E and Thiago R Geological Data Access on a Polyglot Database using a Service Architecture Proceedings of the XIII Brazilian Symposium on Software Components, Architectures, and Reuse, (103-112)
  10. ACM
    Kuszera E, Peres L and Fabro M Toward RDB to NoSQL Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, (456-463)
  11. ACM
    Seybold D, Keppler M, Gründler D and Domaschka J Mowgli Proceedings of the 2019 ACM/SPEC International Conference on Performance Engineering, (321-332)
  12. ACM
    Davoudian A, Chen L and Liu M (2018). A Survey on NoSQL Stores, ACM Computing Surveys, 51:2, (1-43), Online publication date: 31-Mar-2019.
  13. Cristalli E, Serra F and Marotta A Data Quality Evaluation in Document Oriented Data Stores Advances in Conceptual Modeling, (309-318)
  14. Agrawal D, Chawla S, Contreras-Rojas B, Elmagarmid A, Idris Y, Kaoudi Z, Kruse S, Lucas J, Mansour E, Ouzzani M, Papotti P, Quiané-Ruiz J, Tang N, Thirumuruganathan S and Troudi A (2018). RHEEM: enabling cross-platform data processing, Proceedings of the VLDB Endowment, 11:11, (1414-1427), Online publication date: 1-Jul-2018.
  15. ACM
    Martens A, Book M and Gruhn V A data decomposition method for stepwise migration of complex legacy data Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice, (33-42)
  16. Singh A, Singh S and Yousef M (2018). A conceptual framework for designing a big data course, Journal of Computing Sciences in Colleges, 33:5, (192-198), Online publication date: 1-May-2018.
  17. ACM
    Villaça L, Azevedo L and Baião F Query strategies on polyglot persistence in microservices Proceedings of the 33rd Annual ACM Symposium on Applied Computing, (1725-1732)
  18. ACM
    Soransso R and Cavalcanti M Data modeling for analytical queries on document-oriented DBMS Proceedings of the 33rd Annual ACM Symposium on Applied Computing, (541-548)
  19. ACM
    Mohan S Teaching NoSQL Databases to Undergraduate Students Proceedings of the 49th ACM Technical Symposium on Computer Science Education, (314-319)
  20. Stockinger K, Bdi R, Heitz J and Weinmann T (2017). ZNS - Efficient query processing with ZurichNoSQL, Data & Knowledge Engineering, 112:C, (38-54), Online publication date: 1-Nov-2017.
  21. Seybold D, Hauser C, Volpert S and Domaschka J Gibbon: An Availability Evaluation Framework for Distributed Databases On the Move to Meaningful Internet Systems. OTM 2017 Conferences, (31-49)
  22. Batra D (2017). Adapting Agile Practices for Data Warehousing, Business Intelligence, and Analytics, Journal of Database Management, 28:4, (1-23), Online publication date: 1-Oct-2017.
  23. ACM
    Rosenberg D, Boehm B, Wang B and Qi K Rapid, evolutionary, reliable, scalable system and software development: the resilient agile process Proceedings of the 2017 International Conference on Software and System Process, (60-69)
  24. Voinov N, Drobintsev P, Kotlyarov V and Nikiforov I Distributed OAIS-Based Digital Preservation System with HDFS Technology Proceedings of the 20th Conference of Open Innovations Association FRUCT, (491-497)
  25. Storey V and Song I (2017). Big data technologies and Management, Data & Knowledge Engineering, 108:C, (50-67), Online publication date: 1-Mar-2017.
  26. Erikson V. De S. Rosa R and Ferreira De Lucena V (2017). Contextualizing and capturing individual user interactions in shared iTV environments, Multimedia Tools and Applications, 76:6, (8573-8595), Online publication date: 1-Mar-2017.
  27. ACM
    Nguyen T and Lee S I/O characteristics of MongoDB and trim-based optimization in flash SSDs Proceedings of the Sixth International Conference on Emerging Databases: Technologies, Applications, and Theory, (139-144)
  28. ACM
    Butgereit L Four NoSQLs in Four Fun Fortnights Proceedings of the Annual Conference of the South African Institute of Computer Scientists and Information Technologists, (1-6)
  29. ACM
    Schildgen J, Lottermann T and Deßloch S Cross-system NoSQL data transformations with NotaQL Proceedings of the 3rd ACM SIGMOD Workshop on Algorithms and Systems for MapReduce and Beyond, (1-10)
  30. ACM
    Borkar D, Mayuram R, Sangudi G and Carey M Have Your Data and Query It Too Proceedings of the 2016 International Conference on Management of Data, (239-251)
  31. ACM
    Scavuzzo M, Tamburri D and Di Nitto E Providing big data applications with fault-tolerant data migration across heterogeneous NoSQL databases Proceedings of the 2nd International Workshop on BIG Data Software Engineering, (26-32)
  32. Mehta B and Rao U (2016). Privacy Preserving Unstructured Big Data Analytics, Procedia Computer Science, 78:C, (120-124), Online publication date: 1-Mar-2016.
  33. ACM
    Schreiner G, Duarte D and dos Santos Mello R SQLtoKeyNoSQL Proceedings of the 17th International Conference on Information Integration and Web-based Applications & Services, (1-9)
  34. ACM
    Zambom Santana L, dos Santos Mello R and Roisenberg M Smart Crawler Proceedings of the 21st Brazilian Symposium on Multimedia and the Web, (125-132)
  35. ACM
    Lorenz D and Rosenan B Separation of powers in the cloud: where applications and users become peers 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!), (76-89)
  36. ACM
    Gorton I From Static Books to Dynamic Knowledge Bases Proceedings of the 2015 European Conference on Software Architecture Workshops, (1-4)
  37. Chen H, Kazman R, Haziyev S and Hrytsay O Big data system development Proceedings of the First International Workshop on BIG Data Software Engineering, (44-50)
  38. Anderson K Embrace the challenges Proceedings of the First International Workshop on BIG Data Software Engineering, (19-25)
  39. Anderson C (2015). Docker [Software engineering], IEEE Software, 32:3, (102-c3), Online publication date: 1-May-2015.
  40. Booch G (2015). Anarchy and Order [On Computing], IEEE Software, 32:3, (20-22), Online publication date: 1-May-2015.
  41. Gorton I and Klein J (2015). Distribution, Data, Deployment: Software Architecture Convergence in Big Data Systems, IEEE Software, 32:3, (78-85), Online publication date: 1-May-2015.
  42. ACM
    Bild D, Liu Y, Dick R, Mao Z and Wallach D (2015). Aggregate Characterization of User Behavior in Twitter and Analysis of the Retweet Graph, ACM Transactions on Internet Technology, 15:1, (1-24), Online publication date: 12-Mar-2015.
  43. ACM
    Klein J and Gorton I Runtime Performance Challenges in Big Data Systems Proceedings of the 2015 Workshop on Challenges in Performance Methods for Software Development, (17-22)
  44. McGinnes S and Kapros E (2015). Conceptual independence, Information Systems, 47:C, (33-50), Online publication date: 1-Jan-2015.
  45. Ellison M, Calinescu R and Paige R Re-engineering the Database Layer of Legacy Applications for Scalable Cloud Deployment Proceedings of the 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing, (976-979)
  46. ACM
    Pham H, Moore P and Tran K Context matching with reasoning and decision support using hedge algebra with Kansei evaluation Proceedings of the 5th Symposium on Information and Communication Technology, (202-210)
  47. ACM
    Lorenz D and Rosenan B Versionable, Branchable, and Mergeable Application State Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software, (29-42)
  48. ACM
    Francesquini E, Goldman A and Méhaut J Improving the performance of actor model runtime environments on multicore and manycore platforms Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control, (109-114)
  49. ACM
    Francesquini E, Goldman A and Méhaut J Actor scheduling for multicore hierarchical memory platforms Proceedings of the twelfth ACM SIGPLAN workshop on Erlang, (51-62)
  50. Ghrab A, Skhiri S, Jouili S and Zimányi E An Analytics-Aware Conceptual Model for Evolving Graphs Proceedings of the 15th International Conference on Data Warehousing and Knowledge Discovery - Volume 8057, (1-12)
  51. Roijackers J and Fletcher G On bridging relational and document-centric data stores Proceedings of the 29th British National conference on Big Data, (135-148)
  52. Doblander C, Rabl T and Jacobsen H Processing Big Events with Showers and Streams Revised Selected Papers of the First Workshop on Specifying Big Data Benchmarks - Volume 8163, (60-71)
Contributors

Reviews

Michael O. Moorman

This book is about the world of databases and the challenge of NoSQL databases to the reigning relational database model. NoSQL is short for no structured query language, a language developed by IBM for retrieving data from relational databases. But the book is about nonrelational databases; NoSQL is simply a convenient, hip term for nonrelational databases. The authors state their purpose: "This book seeks to give you enough information to answer the question of whether NoSQL databases are worth serious consideration for your future projects." They provide a convincing argument for considering NoSQL databases for certain types of data-large volumes of data of multiple types that do not fit well into the relational database model. But in order to do that, they sacrifice some of the stability and concurrency of the relational database. The book is organized into two parts, with a total of 15 chapters. The first part is on understanding nonrelational databases, and the second part covers implementing nonrelational databases of different types. The seven chapters in Part 1 cover foundational material on nonrelational databases. In these chapters, the authors describe the emergence of nonrelational databases and how they operate without some of the capabilities of relational databases-for example, a schema composed of tables, records, and fields, where the fields for every record are the same size and kind of data (character, number, logical, and so on). As a result, one of the difficulties with relational databases is their inability to easily store different types of data for different entities in an established schema. For example, if you have a data record on an entity that does not include images, in order to store an image for just a small sample of the records, you would have to create an image field for every record in that data store; this could involve considerable effort and allocated storage space. Nonrelational databases can more easily provide this capability through the use of linked clusters of data where the clusters can contain many different kinds of items. There are, however, problems with this kind of structure. Unlike the relational model in which consistency is maintained through the use of transactions and locked records, the nonrelational model does not have the fixed structure that easily allows the transaction and locked record model to be implemented. The nonrelational model sacrifices some of its consistency in exchange for the more fluid model, which means that in some cases users will receive invalid data for a period of time. Much of this part of the text is spent discussing these types of issues. Part 2 is titled "Implement," and that is what it tells you-how to implement a nonrelational database. Chapters 8 to 11 cover specific nonrelational databases, using them as examples of different types of nonrelational databases that you could use to replace your relational database. Chapter 8 discusses key-value databases using the database Riak as an example. Similarly, chapter 9 covers document databases using MongoDB, chapter 10 presents column-family databases using Cassandra, and chapter 11 introduces graph databases using Neo4J. The second half of this part covers other aspects of converting to a nonrelational database. Chapter 12 talks about schemas and how to migrate data from your current relational database to a nonrelational database. Chapter 13 discusses how different needs can influence how you establish your database. Chapter 14 covers some database requirements that are not amenable to using a nonrelational database, and chapter 15 presents tips for choosing a database. Overall, this very interesting book presents some very valuable information. If you're interested in converting your database to a nonrelational database, it is an excellent source of basic information. However, I don't foresee a great rush to convert existing relational databases into nonrelational databases. The authors mention early in the book about the push in the 1990s to adopt object-oriented databases, which was overcome by inertia, cost, and the overall reliability of relational databases. I see the same situation applying to nonrelational databases. For those situations and operations that require moving an enterprise data storage and retrieval system to something that better suits the data that the enterprise stores, the choice may be a nonrelational database. However, inertia, cost, and reliability should keep relational databases around for a long time to come. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Please enable JavaScript to view thecomments powered by Disqus.

Recommendations