Getting Started With RavenDB 4.0
Getting Started With RavenDB 4.0
Read on to discover what RavenDB is and what it can do as well as its unique features. Also, watch a video on how to set it up.
Join the DZone community and get the full member experience.Join For Free
RavenDB vs MongoDB: Which is Better? This White Paper compares the two leading NoSQL Document Databases on 9 features to find out which is the best solution for your next project.
What is RavenDB?
RavenDB is a NoSQL document database that is designed to give you the flexibility and speed of today’s nonrelational databases along with the data safety that legacy relational databases offer. RavenDB is one of the few nonrelational databases that is fully transactional across your database. As an OLTP solution, RavenDB lets you create a database cluster comprising multiple servers or nodes. If one of the nodes goes down, the other nodes will keep working to keep your applications open to your users 24/7.
What Can It Do?
Let’s discuss RavenDB’s unique features:
Dynamic Querying: Even if you don’t set up an index for a query, RavenDB will do it automatically. The more queries you make, the more indexes RavenDB will either set up or optimize. This accomplishes two things:
- The more you use RavenDB, the faster it will perform.
- When you release a new build of your application, and current indexes become useless, RavenDB will automatically create new indexes so your performance will stay robust.
On-the-Fly Aggregates: RavenDB will run an aggregate and keep it current by adding to the tally as new data comes in. When you make future requests for the same aggregates, the answers come faster. Scanning your entire database for the same total becomes a thing of the past.
Both ACID and Non-Relational: To keep up with a wider audience of people buying your products, you need a database model that can increase performance against a rapidly expanding level of traffic and doesn’t compromise the safety of your data. That is why RavenDB is ACID, committing transactions to disk in their entirety or not at all, making sure your customers know where they stand once they buy.
Transparent GUI: To keep your database at top performance, the GUI should tell you everything. In RavenDB, you can see the working status of each node, a breakdown of how each index is running, and a huge array of other metrics so you can quickly pinpoint bottlenecks that may be slowing down your database.
Set Up Fast and Start Coding Now
RavenDB was designed for developers to start coding as quickly as possible. Its setup wizard condenses the installation and security phase from days into minutes. Watch me do it in this tutorial:
When you put a database on one local machine, the instinct is to start coding right away and push off the security protocols for later. The risk is that once your application has grown to the point that it is ready for production, you forget to install the security, and your project gets exposed to the public internet with nothing to protect the information your application is collecting and storing.
RavenDB aims to solve this problem by making security a fast yet thorough process. If you decide to start without security, once you take your database beyond your single local machine, RavenDB will notify you that you’re about to expose a defenseless application into the wild.
You have the option to tell RavenDB that your organization has it's own security protecting your application or to use RavenDB’s security, consisting of the ChaCha20 with 256 bits encryption. RavenDB uses x509 certificates for authenticating access to your data and TLS 1.2 for encrypting all communication between clients and servers.
Opinions expressed by DZone contributors are their own.