- Used Books
- Staff Picks
- Gifts & Gift Cards
- Sell Books
- Stores & Events
- Let's Talk Books
Special Offers see all
More at Powell's
Recently Viewed clear list
New Trade Paper
Ships in 1 to 3 days
available for shipping or prepaid pickup only
Available for In-store Pickup
in 7 to 12 days
More copies of this ISBN
Nosql Distilled: A Brief Guide to the Emerging World of Polyglot Persistenceby Martin J. Fowler
Synopses & Reviews
Modeled after UML Distilled, Martin Fowler's international best-seller, NoSQL Distilled is the definitive introduction to today’s breakthrough NoSQL databases. Together, Fowler and ThoughtWorks principal consultant Pramod Sadalage thoroughly explain how NoSQL databases work, and why they may often be a superior alternative for Big Data, high-traffic web sites, heavy-duty streaming media delivery, and other demanding environments. Drawing on their leading-edge design and implementation experience, Fowler and Sadalage guide you through choosing the right data store, successfully implementing it, and achieving maximum performance and scalability.
NoSQL Distilled starts by illuminating crucial NoSQL concepts and techniques, including schema-less data models, aggregates, new distribution options, and map-reduce. The authors succinctly explore architectural and design issues associated with implementing NoSQL, and offer realistic use cases. Next, they demonstrate real NoSQL databases at work through four representative examples: Riak, MongoDB, Cassandra, and Neo4j.
Drawing on Pramod Sadalage’s pioneering work, NoSQL Distilled shows how to implement evolutionary design with schema migration: an essential technique for successfully applying NoSQL databases in the real world. The authors conclude by explaining how NoSQL is ushering in a new age of Polyglot Persistence, where technology professionals can choose the data storage technology best optimized for each type of data access.
Topics covered include:
· Evaluating which enterprise applications NoSQL is (and isn’t) appropriate for
· Understanding architectural tradeoffs associated with deploying NoSQL
· Using NoSQL to simplify development, avoiding the problem of mapping data between in-memory data structures and RDBMSes
· Comparing today’s leading NoSQL offerings
· Exploring query languages: Object Query MDX and XQuery
· Managing performance, reliability, availability, and recoverability
· Using NoSQL in agile development environments
· Applying NoSQL in search/retrieval, metadata management, text analysis, social networking, business intelligence, and financial services
· Clustering NoSQL databases to address Big Data problems more cost-effectively
· Integrating NoSQL with legacy databases to promote the cloud transition
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 Sadalage’s 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.
About the Author
Martin Fowler is the author of pioneering software development books such as Refactoring, Patterns of Enterprise Application Architecture, UML Distilled, and Domain-Specific Languages. A world-renowned author and speaker, he has worked in the software industry since the mid-80s. In 2000, he joined ThoughtWorks, where he focuses on better ways to design software systems and improve developer productivity. Pramod J. Sadalage, a ThoughtWorks consultant, has pioneered advanced practices and processes of evolutionary database design and database refactoring since 1999. He speaks widely on these and related topics.
Table of Contents
Table of ContentsPreface I. Concepts 1. Why NoSQL? 1.1. The Value of Databases 1.2. The Driver for a Database Change 1.3. Frustrations with Relational Databases 1.4. What is a NoSQL Database? 2. Aggregate Data Models 2.1. Relational datastore 2.2. Aggregates 2.3. Key-value and Document data models 2.4. Bigtable Stores (Column Stores) 2.5. Summarizing Aggregate-Oriented Databases 3. More Details on Data Models 3.1. Relationships 3.2. Graph Databases 3.3. Schema-less Databases 3.4. Key Design 3.5. Materialized Views 4. Distribution Models 4.1. Single Server 4.2. Sharding 4.3. Master-Slave Replication 4.4. Peer-to-Peer Replication 4.5. Combining Sharding and Replication 5. Consistency 5.1. Update Consistency 5.2. Read Consistency 5.3. Relaxing Consistency 5.4. Relaxing Durability 5.5. Quorums 6. Version Stamps 6.1. Business and System Transactions 6.2. Version Stamps on Multiple Nodes 7. Map-Reduce II. Advice 8. Modeling Related Data 8.1. Modeling for specific NoSQL datastore 8.2. Choosing the right technology 9. Schema Migrations 9.1. Schema changes 9.2. Schema changes in rdbms 9.3. Schema changes in NOSQL data store 10. Polyglot Persistence 10.1. Disparate data storage needs 10.2. Polyglot datastore usage 10.3. Service usage over direct datastore usage 10.4. Deployment complexity 11. How to Choose III. Stores 12. Key Value Databases 12.1. What is a key value store 12.2. Key value store features 12.3. Suitable used cases 12.4. When to not use 13. Document Databases 13.1. What is a document database 13.2. Features 13.3. Suitable used cases 13.4. When to not use 14. Graph Databases 14.1. What is a graph database 14.2. Features 14.3. Suitable used cases 14.4. When to not use 15. Big Table (Column) Stores 16. Memory Image 16.1. Durability with Event Sourcing 16.2. Multiple Images 16.3. Deciding to Use a Memory Image 16.4. The LMAX example Bibliography
What Our Readers Are Saying
Computers and Internet » Computer Languages » SQL