Making Sense of NoSQL
A guide for managers and the rest of us
Daniel G. McCreary and Ann M. Kelly
Foreword by Tony Shaw
  • September 2013
  • ISBN 9781617291074
  • 312 pages
  • printed in black & white

Easily digestible, practical advice for technical managers, architects, and developers.

From the Foreword by Tony Shaw, CEO of DATAVERSITY

Making Sense of NoSQL clearly and concisely explains the concepts, features, benefits, potential, and limitations of NoSQL technologies. Using examples and use cases, illustrations, and plain, jargon-free writing, this guide shows how you can effectively assemble a NoSQL solution to replace or augment the traditional RDBMS you have now.

About the book

If you want to understand and perhaps start using the new data storage and analysis technologies that go beyond the SQL database model, this book is for you. Written in plain language suitable for technical managers and developers, and using many examples, use cases, and illustrations, this book explains the concepts, features, benefits, potential, and limitations of NoSQL.

Making Sense of NoSQL starts by comparing familiar database concepts to the new NoSQL patterns that augment or replace them. Then, you'll explore case studies on big data, search, reliability, and business agility that apply these new patterns to today's business problems. You'll see how NoSQL systems can leverage the resources of modern cloud computing and multiple-CPU data centers. The final chapters show you how to choose the right NoSQL technologies for your own needs.

Table of Contents detailed table of contents




about this book

Part 1 Introduction

1. NoSQL: It’s about making intelligent choices

1.1. What is NoSQL?

1.2. NoSQL business drivers

1.3. NoSQL case studies

1.4. Summary

2. NoSQL concepts

2.1. Keeping components simple to promote reuse

2.2. Using application tiers to simplify design

2.3. Speeding performance by strategic use of RAM, SSD, and disk

2.4. Using consistent hashing to keep your cache current

2.5. Comparing ACID and BASE — two methods of reliable database transactions

2.6. Achieving horizontal scalability with database sharding

2.7. Understanding trade-offs with Brewer’s CAP theorem

2.8. Apply your knowledge

2.9. Summary

2.10. Further reading

Part 2 Database patterns

3. Foundational data architecture patterns

3.1. What is a data architecture pattern?

3.2. Understanding the row-store design pattern used in RDBMSs

3.3. Example: Using joins in a sales order

3.4. Reviewing RDBMS implementation features

3.5. Analyzing historical data with OLAP, data warehouse, and business intelligence systems

3.6. Incorporating high availability and read-mostly systems

3.7. Using hash trees in revision control systems and database synchronization

3.8. Apply your knowledge

3.9. Summary

3.10. Further reading

4. NoSQL data architecture patterns

4.1. Key-value stores

4.2. Graph stores

4.3. Column family (Bigtable) stores

4.4. Document stores

4.5. Variations of NoSQL architectural patterns

4.6. Summary

4.7. Further reading

5. Native XML databases

5.1. What is a native XML database?

5.2. Building applications with a native XML database

5.3. Using XML standards within native XML databases

5.4. Designing and validating your data with XML Schema and Schematron

5.5. Extending XQuery with custom modules

5.6. Case study: using NoSQL at the Office of the Historian at the Department of State

5.7. Case study: managing financial derivatives with MarkLogic

5.8. Summary

5.9. Further reading

Part 3 NoSQL solutions

6. Using NoSQL to manage big data

6.1. What is a big data NoSQL solution?

6.2. Getting linear scaling in your data center

6.3. Understanding linear scalability and expressivity

6.4. Understanding the types of big data problems

6.5. Analyzing big data with a shared-nothing architecture

6.6. Choosing distribution models: master-slave versus peer-to-peer

6.7. Using MapReduce to transform your data over distributed systems

6.8. Four ways that NoSQL systems handle big data problems

6.9. Case study: event log processing with Apache Flume

6.10. Case study: computer-aided discovery of health care fraud

6.11. Summary

6.12. Further reading

7. Finding information with NoSQL search

7.3. Strategies and methods that make NoSQL search effective

7.4. Using document structure to improve search quality

7.5. Measuring search quality

7.6. In-node indexes versus remote search services

7.7. Case study: using MapReduce to create reverse indexes

7.8. Case study: searching technical documentation

7.9. Case study: searching domain-specific languages — findability and reuse

7.10. Apply your knowledge

7.11. Summary

7.12. Further reading

8. Building high-availability solutions with NoSQL

8.1. What is a high-availability NoSQL database?

8.2. Measuring availability of NoSQL databases

8.3. NoSQL strategies for high availability

8.4. Case study: using Apache Cassandra as a high-availability column family store

8.5. Case study: using Couchbase as a high-availability document store

8.6. Summary

8.7. Further reading

9. Increasing agility with NoSQL

9.1. What is software agility?

9.2. Measuring agility

9.3. Using document stores to avoid object-relational mapping

9.4. Case study: using XRX to manage complex forms

9.5. Summary

9.6. Further reading

Part 4 Advanced topics

10. NoSQL and functional programming

10.1. What is functional programming?

10.2. Case study: using NetKernel to optimize web page content assembly

10.3. Examples of functional programming languages

10.4. Making the transition from imperative to functional programming

10.5. Case study: building NoSQL systems with Erlang

10.6. Apply your knowledge

10.7. Summary

10.8. Further reading

11. Security: protecting data in your NoSQL systems

11.1. A security model for NoSQL databases

11.2. Gathering your security requirements

11.3. Case Study: access controls on key-value store — Amazon S3

11.4. Case study: using key visibility with Apache Accumulo

11.5. Case study: using MarkLogic’s RBAC model in secure publishing

11.6. Summary

11.7. Further reading

12. Selecting the right NoSQL solution

12.1. What is architecture trade-off analysis?

12.2. Team dynamics of database architecture selection

12.3. Steps in architectural trade-off analysis

12.4. Analysis through decomposition: quality trees

12.5. Communicating the results to stakeholders

12.6. Finding the right proof-of-architecture pilot project

12.7. Summary

12.8. Further reading


What's inside

  • NoSQL data architecture patterns
  • NoSQL for big data
  • Search, high availability, and security
  • Choosing an architecture

About the reader

Managers and developers will welcome this lucid overview of the potential and capabilities of NoSQL technologies.

About the authors

Dan McCreary and Ann Kelly lead an independent training and consultancy firm focused on NoSQL solutions and are cofounders of the NoSQL Now! Conference.

placing your order...

Don't refresh or navigate away from the page.
print book $34.99 pBook + eBook + liveBook
Additional shipping charges may apply
Prints and ships within 3-5 days
Making Sense of NoSQL (print book) added to cart
continue shopping
go to cart

eBook $27.99 3 formats + liveBook
Making Sense of NoSQL (eBook) added to cart
continue shopping
go to cart

Prices displayed in rupees will be charged in USD when you check out.

FREE domestic shipping on three or more pBooks