𝔖 Scriptorium
✦   LIBER   ✦

📁

Introducing RavenDB: The Database for Modern Data Persistence

✍ Scribed by Dejan Miličić


Publisher
Apress
Year
2022
Tongue
English
Leaves
208
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Simplify your first steps with the RavenDB NoSQL Document Database. This book takes a task-oriented approach by showing common problems, potential solutions, brief explanations of how those solutions work, and the mechanisms used. Based on real-world examples, the recipes in this book will show you how to solve common problems with Raven Query Language and will highlight reasons why RavenDB is a great choice for fast prototyping solutions that can sustain increasing amounts of data as your application grows.

Introducing RavenDB includes code and query examples that address real-life challenges you’ll encounter when using RavenDB, helping you learn the basics of the Raven Query Language more quickly and efficiently. In many cases, you’ll be able to copy and paste the examples into your own code, making only minor modifications to suit your application. RavenDB supports many advanced features, such full-text search, graph queries, and timeseries; recipes in the latter portion of the book will help you understand those advanced features and how they might be applied to your own code and applications.

After reading this book, you will be able to employ RavenDB’s powerful features in your own projects.

What You Will Learn

  • Set up and start working with RavenDB
  • Model your objects for persistence in a NoSQL document database
  • Write basic and advanced queries in the Raven Query Language
  • Index your data using map/reduce techniques
  • Implement techniques leading to highly performant systems
  • Efficiently aggregate data and query on those aggregations

Who This Book Is For

Developers accustomed to relational databases who are about to enter a world of NoSQL databases. The book is also for experienced programmers who have used other non-relational databases and want to learn RavenDB. It will also prove useful for developers who want to move away from using Object-Relational Modeling frameworks and start working with a persistence solution that can store object graphs directly.

✦ Table of Contents


Table of Contents
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
Chapter 1: Getting Started with RavenDB
A Brief History of Databases
Problems with Relational DBMS
Impedance Mismatch
Object-Relational Mappers
Normalization
Modern Web Applications
NoSQL
Origins of “NoSQL” Name
Why NoSQL?
Characteristics
Additional Advantages
Challenges
Outcome
NoSQL Database Types
Key-Value Stores (KVS)
Document Stores (DS)
Graph Databases (GD)
Wide-Column Stores (WCS)
Multi-Model Databases
RavenDB
History
Advantages of RavenDB
Extreme Performance
Fully Transactional
Auto Tuning
Safe by Default
High Availability
Topologies
How to Start?
Creating Your First Database
Seeding Sample Data
Northwind Database
Documents
Summary
Chapter 2: Document Modeling
Abstraction and Generalization
Modeling in Relational Databases
Data Encapsulation Challenge
Modeling in NoSQL Databases
JSON Documents
Properties of Well-Modeled Documents
Aggregates
Unit of Change and Unit of Consistency
Distributed Systems
Aggregates in the Distributed System
Aggregates as Transaction Boundaries
Modeling in RavenDB
Documents
Identifiers
Modeling Document Relationships
One-to-One Relationship
Embedding
Referencing
Referential Integrity in RavenDB
One-to-Many Relationship
Many-to-Many Relationship
Summary
Chapter 3: Querying
Querying in RavenDB Studio
RavenDB Query Language Basics
Filtering
Query by Nonexistent Property
Query by Non-string Properties
Filtering by Complex Properties
Filtering by Id
Cross-Collection Query
Inequality Query
Logical Operators
Range Queries
Casing
Full-Text Searching
Sorting
Paging
Advanced Querying
Projecting Results
Projecting with Object Literals
Declaring Functions in Queries
Aggregation
Handling Relationships
Accessing Related Documents
Include
Summary
Chapter 4: Indexes
Queries from the Perspective of a Database
Unbounded Queries
Paging
Filtering
Indexes
Types of Indexes
Downsides of Indexing
RavenDB’s Indexing Philosophy
Summary
Chapter 5: Map Indexes
Static Indexes
Static Map Index
Static Index Analysis
Expanding Map Index
Indexing References
Stored Fields
Computed Fields
Dynamic Fields
Fanout Index
Multi-Map Index
Indexing Hierarchical Data
Summary
Chapter 6: MapReduce Indexes
Grouping
MapReduce
Aggregation
Static MapReduce Indexes
Static Versus Automatic Indexes
Moment of Initial Indexing
Aggregation Complexity
MultiMapReduce Indexes
Artificial Documents
Creating Artificial Documents
Indexing Artificial Documents
Summary
Chapter 7: Full-Text Search
Basics of Full-Text Search
Single Term
Multiple Terms
Searching over Complex Objects
Wildcards
Suggestions
Operators
What Happens Inside?
Text Analysis
Standard Analyzer
Ranking
Boosting
Static Index: One Field
Static Index: Different Analyzers
Static Index: Multiple Fields
Indexing Property from Multiple Collections
Indexing Multiple Fields from a Single Collection
Indexing Multiple Fields from Multiple Collections
Summary
Index


📜 SIMILAR VOLUMES


Pro Database Migration to Azure: Data Mo
✍ Kevin Kline, Denis McDowell, Dustin Dorsey, Matt Gordon 📂 Library 📅 2022 🏛 Apress 🌐 English

<span>Migrate your existing, on-premises applications into the Microsoft Azure cloud platform. This book covers the best practices to plan, implement, and operationalize the migration of a database application from your organization’s data center to Microsoft’s Azure cloud platform.<br>Data moderniz

Pro Database Migration to Azure: Data Mo
✍ Kevin Kline, Denis McDowell, Dustin Dorsey, Matt Gordon 📂 Library 📅 2022 🏛 Apress 🌐 English

<span>Migrate your existing, on-premises applications into the Microsoft Azure cloud platform. This book covers the best practices to plan, implement, and operationalize the migration of a database application from your organization’s data center to Microsoft’s Azure cloud platform.<br>Data moderniz

Pro Database Migration to Azure: Data Mo
✍ Kevin Kline, Denis McDowell, Dustin Dorsey, Matt Gordon 📂 Library 📅 2022 🏛 Apress 🌐 English

<span>Migrate your existing, on-premises applications into the Microsoft Azure cloud platform. This book covers the best practices to plan, implement, and operationalize the migration of a database application from your organization’s data center to Microsoft’s Azure cloud platform.<br>Data moderniz

Java Persistence for Relational Database
✍ Richard Sperko (auth.) 📂 Library 📅 2003 🏛 Apress 🌐 English

<p><p><i>Java Persistence for Relational Databases </i>is chock full of best practices and patterns, for those of you who want to connect to databases using Java! Coverage includes various database-related APIs for Java, like JDO, JDBC (including the newest 3.0 APIs), and CMP (“Container Managed Per

Java persistence for relational database
✍ Richard Sperko 📂 Library 📅 2003 🏛 Apress 🌐 English

This text provides best practices and patterns for readers who want to connect to databases using Java. It also includes coverage of various database-related APIs for Java, including JDO, JDBC (including newest 3.0 APIs), and CMP.

Serialization and Persistent Objects: Tu
✍ Jiri Soukup, Petr Macháček (auth.) 📂 Library 📅 2014 🏛 Springer-Verlag Berlin Heidelberg 🌐 English

<p><p>Recently, the pressure for fast processing and efficient storage of large data with complex relations increased beyond the capability of traditional databases. Typical examples include iPhone applications, computer aided design – both electrical and mechanical, biochemistry applications, and i