1 A second-generation document database

 

This chapter covers

  • Some history of database technologies
  • What is RavenDB?
  • Getting started with RavenDB

Data persistence is at the heart of every technology project. Whether it’s to remember users and their preferences, gather statistics and numbers for later crunching, sell products out of a catalog, save logs, or count Facebook “likes,” data has to be stored. Although data can be safely stored even on tapes, most of the time we need it accessible for quick retrieval to display it or for further processing, and to do that we need the ability to query.

For several decades relational databases, or SQL databases, have been used to store data in a retrievable way, and they still are. They are reliable and quite easy to get data out of when needed, and that’s how they became the industry standard for data persistence.

But they aren’t the perfect solution. As the world progresses, the amounts of data that have to be dealt with grow and can reach massive scales. That’s when the very design of relational databases breaks, and we are left with a choice: we can either spend a lot of effort coming up with workarounds, or we can look for alternative solutions.

1.1   The database chronicles

1.1.1   Relational databases and the modern world

1.1.2   NoSQL

1.2   Introducing RavenDB

1.2.1   Benefits of RavenDB

1.2.2   Basic concepts

1.2.3   LINQ

1.3   Installing RavenDB

1.3.1   Running the server

1.3.2   The Management Studio

1.3.3   Adding RavenDB to your project

1.4   Starting to work with RavenDB

1.4.1   Instantiating a DocumentStore

1.4.2   The DocumentSession

1.4.3   Storing a new document

1.4.4   Loading and editing a document

1.4.5   Deleting documents

1.4.6   Querying using LINQ

1.5   Summary