You are previewing RavenDB High Performance.
O'Reilly logo
RavenDB High Performance

Book Description

Learn how to accelerate your application development by building scalable applications on the RavenDB document database

  • Learn how to build your application for scalability and high availability

  • Make highly interactive applications that support client-side notifications, faceted search, search suggestions, and more

  • Take advantage of advanced RavenDB APIs to make your application fly

In Detail

RavenDB is an exciting technology that challenges developers to reconsider their old ways of thinking about databases. In this day and age, Internet-scale applications require this fresh perspective. RavenDB High Performance moves beyond the basics and guides you through building scalable applications using the rich features and extensibility of RavenDB.

RavenDB High Performance cuts through the noise and focuses on the key information you need to build scalable applications on the RavenDB document database. The book discusses every aspect of building a high performance system, from modeling your data to deploying it in a clustered environment. Examples are provided to make this information easy to apply to your specific application scenario.

Beginning with the NoSQL movement, RavenDB High Performance delves into the forces pushing developers beyond the traditional relational database solutions. From there, the book focuses on the design and development of web-based applications on RavenDB. It gives clear advice and examples to guide the reader through this new and exciting technology. Data modeling through documents is discussed in detail. This understanding is critical for building clean code and scalable applications. Once this foundation is established, the author focuses on key APIs that optimize data access and give end users great experiences. Scaling out and high availability techniques are also discussed in detail.

RavenDB High Performance brings together the resources you need for building scalable applications on RavenDB in an easy to understand and use format. Advice, diagrams, and code will help you quickly understand the concepts that you will apply to your next application.

Table of Contents

  1. RavenDB High Performance
    1. Table of Contents
    2. RavenDB High Performance
    3. Credits
    4. Foreword
    5. About the Author
    6. About the Reviewers
    7. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
        1. Why Subscribe?
        2. Free Access for Packt account holders
    8. 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. Errata
        2. Piracy
        3. Questions
    9. 1. A Different Kind of Database
      1. Explosive growth
      2. Semi-structured data
      3. Architecture changes
      4. Rethinking the database
        1. Document databases
      5. A document database for the .NET platform
        1. RavenDB architecture
          1. Storing documents
          2. Searching and retrieving documents
      6. Summary
    10. 2. Optimizing the Data Model
      1. Thinking in a document centric world
        1. A pattern-based approach to modeling relationships
          1. One-to-one relationships
          2. One-to-many relationships
          3. Many-to-many relationships
      2. Modeling relationships using keys
      3. Data modeling by example
      4. Efficiently accessing documents
        1. Working with indexes
        2. Materialized views
        3. Aggregating data using reduce
        4. Efficiently loading related documents
      5. Handling changing data over time
      6. Efficiently storing large chunks of data
      7. Summary
    11. 3. Optimizing the API
      1. Optimizing large data loads
        1. Reading large result sets
      2. Being smart and lazy
      3. Sometimes it is all about the little things
        1. Patching meets scripting
        2. Using patching to migrate document schema
      4. Doing nothing is the fastest way to do something
        1. Getting aggressive about doing nothing
      5. Summary
    12. 4. Monitoring and Tuning
      1. Profiling isn't just for crime solvers
      2. Profiling using Glimpse
        1. Securing Glimpse
      3. Monitoring with performance counters
      4. Looking inside using server and database statistics
      5. Looking under the hood
      6. Tuning the server
        1. Less I/O = more speed
        2. Tuning the settings
      7. Summary
    13. 5. Scaling Out
      1. Sharding
        1. Sharding in the dark
        2. Sharding based on the data
        3. Sharding based on – whatever you like!
      2. Scaling out reporting to a relational database
      3. Summary
    14. 6. When Failure is not an Option
      1. Replication
        1. Master-slave
        2. Master-master
        3. Multi-master
        4. Configuring replication
        5. Handling conflicts
          1. Automatically handling conflicts
          2. Handling node failures
      2. Failover clustering
        1. Read stripping
      3. Summary
    15. 7. Deploying to the Cloud
      1. Platform as a Service (PaaS)
      2. Infrastructure as a Service (IaaS)
      3. Database as a Service (DaaS)
        1. Getting started is easy
          1. AppHarbor Integration
      4. Summary
    16. 8. Extending RavenDB
      1. Triggers
      2. Customizing the storage format
      3. Server-side tasks
      4. Summary
    17. 9. Optimizing the User Experience
      1. Searching like Amazon
      2. Searching like Google
      3. Building responsive applications
        1. Displaying real-time updates
      4. Summary
    18. Index