Achieve 100,000 writes per second, and over one million reads on commodity hardware. We developed Voron, our own custom-made storage engine tailored just to soup up RavenDB’s performance.

Management Studio

Our GUI makes the RavenDB user experience enjoyable for developers and non-developers alike. It’s part of any license, including your free community version.

Fully Transactional

RavenDB is the first non-relational database to achieve ACID across the entire database. Maintain the best of SQL while boosting your capacity to the next level.

Polyglot Architecture

Married to your legacy SQL solution? RavenDB works well with relational databases, giving you the opportunity to add a NoSQL layer to your existing architecture without any disruptions.


RavenDB runs on Windows, Linux, macOS, Windows Tablet, and Raspberry Pi platforms.

High Availability

Break free of the single server bottleneck. Set up a distributed data cluster in minutes. Replicate your database in real time so you can be everywhere at once, and always available to your users.

Ease of Use

RavenDB is easy to install, simple to secure, and quick to learn. Our query language is 85% SQL. Using our training resources, you can become an expert in a few days.

Design with Care

Spend more time coding, and less time on the phone with support. We exposed a lot of internals in approachable way to help you self-solve problems and reduce overhead. When you do need help, our support engineers are the best in the business.


Your community license includes the Management Studio GUI, 3 cores, a distributed data cluster of 3 nodes, 6GB of RAM, and easy compatibility with cloud services like AWS, Azure, and more.









Raven Query Language

Query with a familiar and straight-forward language.

Our RQL (Raven Query Language) allows you to execute all available types of queries and is a part of our JavaScript patching API. Based on SQL, it can be easily assimilated with few additions of our own.

#Sample 1
#Sample 2

Full-Text Search

Perform advanced full-text search operations over one or more fields at once with the ability to supply your own custom analyzer.

#Sample 1


Perform calculations such as counts, sums, averages, min and max on aggregated data and split it into defined ranges without a fuss.

#Sample 1

MoreLike This

Finding similar documents has never been easier! Use our built-in 'more like this' feature to retrieve them.

#Sample 1


Geographical data at your fingertips.

Spatial field can be created from Coordinates (latitude and longitude), or directly from WKT shape using following strategies:

  • with BoundingBox or QuadPrefixTree
  • Geographical with BoundingBox, GeohashPrefixTree (default) or QuadPrefixTree

RQL itself and our Client API contain built-in methods to help you find the documents with the search areas that can be defined using:

  • within (and within radius)
  • contains
  • disjoin
  • intersect
  • custom relation to WKT shape


Update documents directly on the server-side using our integrated JavaScript-based patching API, a part of RQL syntax.

#Sample 1
#Sample 2


Intelligent Auto Indexes

Focus on doing queries, while RavenDB creates the indexes for you.

Auto Indexes are designed when there is no need to customize the capabilities extensively. With Auto Indexes you will be able to perform queries, including advanced ones like full-text search or even perform reduction operations. All of this can be done without the need to manually create indexes on your own. RavenDB supports following auto index types: - Auto Map indexes - Auto Map-Reduce indexes RavenDB learns the behavior of your application to merge auto indexes to reduce your overhead. It will schedule unused auto indexes for deletion.

Indexing Performance and Map-Reduce Visualizers

Take a peek on what is going on internally.

Powerful Static Indexes

Harness the full potential of indexing.



Setup document revision creation and purging policies.


Define document expiration dates and schedule cleanup intervals.


Link binary data to your documents with ease.


Retrieve documents in a handy and reliable way for processing.


High Availability

Expand beyond one node in a matter of minutes. Achieve high availability, load balancing, and failover with just a few clicks.

With RavenDB clustering is easy and much more approachable.

You can configure it in a matter of minutes without any expert knowledge using our GUI management studio and benefit from high-availability, load balancing and automatic failover without any additional setup.

The RavenDB clustering is build on top of two layers, first, the cluster layer, is managed by a consensus protocol called Raft and in CAP theorem it is CP (consistent and partition tolerant). The second layer, the database layer, is on the other hand AP (it is always available, even if there is a partition, and it's eventually consistent) and is handled by a gossip protocol between the databases on different nodes, forming multi-master mesh and replicating data between each other.

RavenDB utilize the different layers for different purposes. At the cluster layer, the consensus protocol ensures that operators have the peace of mind of knowing that their commands are accepted and followed and at the database layer you know that RavenDB will never lose writes and will always keep your data safe.

Cluster-Wide Tasks with High Availability

Schedule tasks among the cluster and let the other nodes take over the work if needed.

In a world of clusters, scheduling a backup, and ETL job or any other ongoing process on one particular node is not acceptable. If that node is down for any reason, the show must still go on. This is why RavenDB introduced a notion of cluster-wide tasks, assigned to a node, but owned by the cluster. In the case of a failure of the assigned node, the RavenDB cluster will reassign the work to another node, ensuring liveliness and continuity of operations.

The following tasks can be created:

  1. External Replication
  2. RavenDB ETL and SQL ETL
  3. Backup
  4. Subscription

With cluster-wide tasks or as we are calling them 'Ongoing Tasks' you have a guarantee that only one cluster node is processing that job and with the high availability in place (Enterprise-only feature) you have assurance that the task will automatically switch to a new node if the old one is down.

Dynamic Database Distribution

Ensure your data is safe and sound, residing on a given number of nodes.

A cluster can assign a database to all the nodes in the cluster, or to just some of them. In a five node cluster, most databases will only reside on two or three of the nodes, for example, since duplicating all information times five is usually excessive even for the most paranoid of souls. Instead, you'll typically spread the databases with a replication factor of two or three on the various nodes. If a node goes down (hardware failure, for example), the cluster will note that and if it fails to come back up quickly enough, will take steps to ensure that the number of live active replicas of the database is maintained.

The cluster will do that by adding another node in the cluster for the database, resulting in another copy of the data and ensuring that the configured number of replicas is maintained. When the failed node is brought up again, the cluster will determine whatever to keep the data on the old node or to use the new topology. Your operations team don't have to be on their toes at all times, RavenDB is constantly monitoring and acting on your behalf, within the boundaries that were set by the administrators.

Operational Stability

Trust our experience and sleep tight.

Running a production database cluster can be a daunting task. There are a lot of knobs to turn and cause and effect may not always be obvious, especially when you have co-dependent settings and options. Far from being a opaque system, RavenDB works very hard to externalize and make visible all the details about the system that your operations team need and is often deployed in a self managing option.

Features such as automatic failover, dynamic distribution of tasks and databases, multi master writes means that your operations team can sleep in peace, knowing that if anything happens, they can get to it in the morning. RavenDB also continuously run diagnostics and self checks, each member of the cluster verifying each of the other to ensure the health of the entire system. If anything troubling shows up, RavenDB will alert the administrator, usually with a suggested fix.

Tested in production for the past decade, RavenDB is a mature product, well capable of handling its own affairs with only minimal guidance on day to day issues.



Manage authentication and authorization via X.509 certificates. Secure your connectivity with SSL and TLS 1.2.

The safety of your data is always our top priority. We strive to make sure that anything your users share with you on the assumption of privacy will remain private. This does not only mean protecting your data on the disk drive (read more about this in Encryption feature), but also in transferring it securely over the wire. To achieve this, we introduced the ability to utilize the HTTPS with SSL/TLS 1.2 protocols using X.509 certificates which grants you enterprise-level security for your data during transfers over the network.

The certificates are also used to grant specific privileges to certificate holders allowing them to access only subsets of all databases on the server, or to execute operations that are allowed to one of the predefined roles (security clearances). All of this is configurable in a convenient way using our Management Studio GUI.


Keep your data protected.

Our encryption techniques are among the best on the market.

RavenDB comes with built-in encryption support that utilizes the modern ChaCha20-Poly1305 algorithm from a well-known and battle-tested encryption library called 'libsodium' giving you the best of both words: security and performance in one go.


Server Dashboard

Monitor what is going on in your Server in the blink of an eye using our built-in Server Dashboard.

The database server should not be a mystery. We invested a lot of effort to expose as much valuable information as possible. We created a Server Dashboard, part of your free Community License, to enable you to monitor in real-time aggregate crucial information like CPU usage, memory consumption, state of the databases, server traffic, storage information and much more. Now it’s easier for you to gage the behavior of your server, and take necessary resolutions if needed.

SNMP Monitoring

Connect Zabbix or your favorite monitoring tool via our built-in SNMP support.

When you have dozens of servers to maintain, you can hook-up one tool to monitor them all. RavenDB comes with built-in support for SNMPv2 and SNMPv3, and exposes over 50 unique OIDs for you to take advantage of.

Real-time Logging

Turn on logging on-the-fly, and view them in the Studio. No need to restart the Server!


Periodic Backups

Schedule automatic backups to different external destinations.

RavenDB enables you to schedule full and/or incremental automatic backups, choose if those backups should be binary (slower creation, quicker restore) or JSON (quicker creation, slower restore), and choose at least one of the following destinations:

  • Local disk drive
  • Amazon AWS S3
  • Amazon AWS Glacier
  • Microsoft Azure
  • FTP


Use our built-in console commands to control your Server.

Administrator JS Console

Issue JavaScript commands to modify your Server or database configuration on-the-fly without the need of any restarts.