- Browse
- » NoSQL distilled: a brief guide to the emerging world of polyglot persistence
NoSQL distilled: a brief guide to the emerging world of polyglot persistence
Author
Publisher
Addison-Wesley
Publication Date
2013
Language
English
Description
Loading Description...
Table of Contents
From the Book
Preface
Part I. Understand
Chapter 1. Why NoSQL?
1.1. The Value of Relational Databases
1.1.1. Getting at Persistent Data
1.1.2. Concurrency
1.1.3. Integration
1.1.4. A (Mostly) Standard Model
1.2. Impedance Mismatch
1.3. Application and Integration Databases
1.4. Attack of the Clusters
1.5. The Emergence of NoSQL
1.6. Key Points
Chapter 2. Aggregate Data Models
2.1. Aggregates
2.1.1. Example of Relations and Aggregates
2.1.2. Consequences of Aggregate Orientation
2.2. Key-Value and Document Data Models
2.3. Column-Family Stores
2.4. Summarizing Aggregate-Oriented Databases
2.5. Further Reading
2.6. Key Points
Chapter 3. More Details on Data Models
3.1. Relationships
3.2. Graph Databases
3.3. Schemaless Databases
3.4. Materialized Views
3.5. Modeling for Data Access
3.6. Key Points
Chapter 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
4.6. Key Points
Chapter 5. Consistency
5.1. Update Consistency
5.2. Read Consistency
5.3. Relaxing Consistency
5.3.1. The CAP Theorem
5.4. Relaxing Durability
5.5. Quorums
5.6. Further Reading
5.7. Key Points
Chapter 6. Version Stamps
6.1. Business and System Transactions
6.2. Version Stamps on Multiple Nodes
6.3. Key Points
Chapter 7. Map-Reduce
7.1. Basic Map-Reduce
7.2. Partitioning and Combining
7.3. Composing Map-Reduce Calculations
7.3.1. A Two Stage Map-Reduce Example
7.3.2. Incremental Map-Reduce
7.4. Further Reading
7.5. Key Points
Part II. Implement
Chapter 8. Key-Value Databases
8.1. What Is a Key-Value Store
8.2. Key-Value Store Features
8.2.1. Consistency
8.2.2. Transactions
8.2.3. Query Features
8.2.4. Structure of Data
8.2.5. Scaling
8.3. Suitable Use Cases
8.3.1. Storing Session Information
8.3.2. User Profiles, Preferences
8.3.3. Shopping Cart Data
8.4. When Not to Use
8.4.1. Relationships among Data
8.4.2. Multioperation Transactions
8.4.3. Query by Data
8.4.4. Operations by Sets
Chapter 9. Document Databases
9.1. What Is a Document Database?
9.2. Features
9.2.2. Consistency
9.2.2. Transactions
9.2.3. Availability
9.2.4. Query Features
9.2.5. Scaling
9.3. Suitable Use Cases
9.3.1. Event Logging
9.3.2. Content Management Systems, Blogging Platforms
9.3.3. Web Analytics or Real-Time Analytics
9.3.4. E-Commerce Applications
9.4. When Not to Use
9.4.2. Complex Transactions Spanning Different Operations
9.4.2. Queries against Varying Aggregate Structure
Chapter 10. Column-Family Stores
10.1. What Is a Column-Family Data Store?
10.2. Features
10.2.1. Consistency
10.2.2. Transactions
10.2.3. Availability
10.2.4. Query Features
10.2.5. Scaling
10.3. Suitable Use Cases
10.3.1. Event Logging
10.3.2. Content Management Systems, Blogging Platforms
10.3.3. Counters
10.3.4. Expiring Usage
10.4. When Not to Use
Chapter 11. Graph Databases
11.1. What Is a Graph Database?
11.2. Features
11.2.1. Consistency
11.2.2. Transactions
11.2.3. Availability
11.2.4. Query Features
11.2.5. Scaling
11.3. Suitable Use Cases
11.3.1. Connected Data
11.3.2. Routing, Dispatch, and Location-Based Services
11.3.2. Recommendation Engines
11.4. When Not to Use
Chapter 12. Schema Migrations
12.1. Schema Changes
12.2. Schema Changes in RDBMS
12.2.1. Migrations for Green Field Projects
12.2.1. Migrations in Legacy Projects
12.3. Schema Changes in a NoSQL Data Store
12.3.1. Incremental Migration
12.3.2. Migrations in Graph Databases
12.3.3. Changing Aggregate Structure
12.4. Further Reading
12.5. Key Points
Chapter 13. Polyglot Persistence
13.1. Disparate Data Storage Needs
13.2. Polyglot Data Store Usage
13.3. Service Usage over Direct Data Store Usage
13.4. Expanding for Better Functionality
13.5. Choosing the Right Technology
13.6. Enterprise Concerns with Polyglot Persistence
13.7. Deployment Complexity
13.8. Key Points
Chapter 14. Beyond NoSQL
14.1. File Systems
14.2. Event Sourcing
14.3. Memory Image
14.4. Version Control
14.5. XML Databases
14.6. Object Databases
14.7. Key Points
Chapter 15. Choosing Your Database
15.1. Programmer Productivity
15.2. Data-Access Performance
15.3. Sticking with the Default
15.4. Hedging Your Bets
15.5. Key Points
15.6. Final Thoughts
Bibliography
Index
Author Notes
Loading Author Notes...
More Details
Contributors
ISBN
9780321826626
9780133036138
013303612
9780133036121
9780133036138
013303612
9780133036121
Staff View
Loading Staff View.

