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
- 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.
- 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.
- 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.
- Herden O Architectural Patterns for Integrating Data Lakes into Data Warehouse Architectures Big Data Analytics, (12-27)
- 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)
- 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)
- 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.
- Vial G (2019). Lessons in Persisting Object Data Using Object-Relational Mapping, IEEE Software, 36:6, (43-52), Online publication date: 1-Nov-2019.
- 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)
- Kuszera E, Peres L and Fabro M Toward RDB to NoSQL Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, (456-463)
- Seybold D, Keppler M, Gründler D and Domaschka J Mowgli Proceedings of the 2019 ACM/SPEC International Conference on Performance Engineering, (321-332)
- 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.
- Cristalli E, Serra F and Marotta A Data Quality Evaluation in Document Oriented Data Stores Advances in Conceptual Modeling, (309-318)
- 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.
- 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)
- 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.
- 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)
- 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)
- Mohan S Teaching NoSQL Databases to Undergraduate Students Proceedings of the 49th ACM Technical Symposium on Computer Science Education, (314-319)
- 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.
- 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)
- 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.
- 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)
- 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)
- Storey V and Song I (2017). Big data technologies and Management, Data & Knowledge Engineering, 108:C, (50-67), Online publication date: 1-Mar-2017.
- 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.
- 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)
- 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)
- 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)
- 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)
- 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)
- 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.
- 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)
- 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)
- 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)
- Gorton I From Static Books to Dynamic Knowledge Bases Proceedings of the 2015 European Conference on Software Architecture Workshops, (1-4)
- 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)
- Anderson K Embrace the challenges Proceedings of the First International Workshop on BIG Data Software Engineering, (19-25)
- Anderson C (2015). Docker [Software engineering], IEEE Software, 32:3, (102-c3), Online publication date: 1-May-2015.
- Booch G (2015). Anarchy and Order [On Computing], IEEE Software, 32:3, (20-22), Online publication date: 1-May-2015.
- 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.
- 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.
- 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)
- McGinnes S and Kapros E (2015). Conceptual independence, Information Systems, 47:C, (33-50), Online publication date: 1-Jan-2015.
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
Index Terms
- NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence
Recommendations
NoSQL databases: MongoDB vs cassandra
C3S2E '13: Proceedings of the International C* Conference on Computer Science and Software EngineeringIn the past, relational databases were used in a large scope of applications due to their rich set of features, query capabilities and transaction management. However, they are not able to store and process big data effectively and are not very ...