You are previewing Getting Started with NoSQL.
O'Reilly logo
Getting Started with NoSQL

Book Description

Your guide to the world and technology of NoSQL

  • First hand, detailed information about NoSQL technology

  • Learn the differences between NoSQL and RDBMS and where each is useful

  • Understand the various data models for NoSQL

  • Compare and contrast some of the popular NoSQL databases on the market

  • Think outside the box; learn to design, construct, and implement using NoSQL

In Detail

Relational databases have been used for decades, and in the last few years NoSQL has been a growing choice for large-scale web applications. Non-relational databases provide the scale and speed that you may need for your application. To switch you must know the options available, the advantages and drawbacks, and scenarios which it is suited to the most and where it should be avoided at all costs.

Getting Started with NoSQL is a from-the-ground up guide that takes you from the very first steps to a real-world NoSQL application. It provides you with a step-by-step approach to design and implement a NoSQL application that will help you make clear decisions on database choices and database model choices. The book is suited for a developer, an architect, as well as a CTO.

This book is a comprehensive guide to working with NoSQL. You will learn to make key decisions, and to design and implement NoSQL applications. You will learn about NoSQL jargon, data models, and databases on the market. The case studies and comparisons presented will help you to make a decision on whether or not to use NoSQL, and if so which model and product to use. This book is an indispensable resource for you to have in your library. You will learn everything you need to know about understanding and working with NoSQL and how to implement an application with the correct NoSQL for you.

Table of Contents

  1. Getting Started with NoSQL
    1. Table of Contents
    2. Getting Started with NoSQL
    3. Credits
    4. About the Author
    5. About the Reviewer
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
        1. Why Subscribe?
        2. Free Access for Packt account holders
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the color images of this book
        2. Errata
        3. Piracy
        4. Questions
    8. 1. An Overview of NoSQL
      1. Defining NoSQL
        1. History
      2. What NoSQL is and what it is not
      3. Why NoSQL?
      4. List of NoSQL Databases
      5. Summary
    9. 2. Characteristics of NoSQL
      1. Application
      2. RDBMS approach
      3. Challenges
      4. NoSQL approach
      5. Summary
    10. 3. NoSQL Storage Types
      1. Storage types
        1. Column-oriented databases
          1. Advantages
          2. Example
        2. Document store
          1. Advantages
          2. Examples
        3. Key-value store
          1. Advantages
          2. Examples
        4. Graph store
          1. Advantages
          2. Examples
        5. Multi-storage type databases
      2. Comparing the models
      3. Summary
    11. 4. Advantages and Drawbacks
      1. Transactional application
        1. Entity schema requirements
        2. Data access requirements
        3. What NoSQL can do
        4. What NoSQL cannot do
        5. Decision
      2. Computational application
        1. Entity schema requirements
        2. Data access requirements
        3. What NoSQL can do
        4. What NoSQL cannot do
        5. Decision
      3. Web-scale application
        1. Entity schema requirements
        2. Data access requirements
        3. What NoSQL can do
        4. What NoSQL cannot do
        5. Decision
      4. Summary
    12. 5. Comparative Study of NoSQL Products
      1. Comparison
      2. Technical comparison
        1. Implementation language
        2. Engine types
        3. Speed
        4. Features
          1. Limits
          2. Bulk operations
            1. Bulk read
            2. Bulk insert
            3. Bulk update
            4. Bulk delete
          3. Query options
            1. Get by ID
            2. Composite indexes
            3. Views
        5. Security
          1. Access management
            1. Authentication
            2. Authorization or role-based access
          2. Encryption
          3. Multitenancy
        6. RDBMS related features
        7. Deployment and maintenance
          1. Availability
          2. Maintenance
        8. Tools
        9. Protocol
      3. Nontechnical comparison
        1. Source and license
        2. Community and vendor support
      4. Summary
    13. 6. Case Study
      1. Application definition
      2. Requirement analysis
      3. Implementation using MongoDB
        1. Features and constraints
        2. Setup
        3. Database design
          1. Database queries
          2. Database modeling
          3. Schema definition
        4. Writing queries
          1. Queries for a single entity, simple result
          2. Queries for a single entity, Aggregate
          3. Queries for one-to-one relationship
          4. Queries for one-to-many relationship
          5. Queries for many-to-many relationship
          6. Miscellaneous queries
            1. Pagination
            2. Limiting items in an array in result set
            3. Plugin and dynamic data support
        5. Model refinements
          1. References using non-ID property
          2. Denormalization and document embedding
            1. Complete document embedding
            2. Partial document embedding
            3. Bucketing
          3. Cache document approach
          4. Miscellaneous changes
      4. Summary
    14. A. Taxonomy
      1. Vocabulary
      2. Relationship between CAP, ACID, and NoSQL
    15. Index