Log in
Enquire now
RavenDB

RavenDB

A NoSQL Database that's fully transactional - RavenDB NoSQL Document Database allows 1 million reads and 150,000 writes per second.

OverviewStructured DataIssuesContributors

Contents

ravendb.net
Is a
Product
Product
Software
Software

Software attributes

License
AGPLv3

Other attributes

Email Address
info@ravendb.net
Full Address
9 Ahad Ha'Am St. Hadera 3820349 Israel
Location
Israel
Israel
Medium URL
ravendb.net/news/media
Source Code
github.com/ravendb/ravendb
Written in
C#

Description

RavenDB is an open-source fully ACID document-oriented database written in C#, developed by Hibernating Rhinos Ltd. It is cross-platform, supported on Windows, Linux, and Mac OS.[6] RavenDB stores data as JSON documents and can be deployed in distributed clusters with master-master replication.

Originally named "Rhino DivanDB", RavenDB began in 2008 as a project by Oren Eini (aka Ayende Rahien) and is developed by Hibernating Rhinos Ltd. The company claims it was the first document database to run natively in the .NET Framework. It was an early document database to offer ACID guarantees.

In 2019, Hibernating Rhinos began offering RavenDB as a cloud service named RavenDB Cloud.

System architecture

Data is stored as schemaless documents in JSON format. Documents are grouped into collections, with each document having exactly one collection.

Databases can be deployed on a distributed cluster of servers (called ‘nodes’) using multi-master replication. Some operations at the cluster level require a consensus of a majority of nodes; consensus is determined using an implementation of the Raft algorithm called Rachis. Tasks are distributed to the different nodes in a balanced way.

Clients are supported for C#, C++, Java, NodeJS, Python, Ruby, and Go.

Main features

  • Cluster-wide ACID Transactions - ACID transactions can be executed at the scope of a cluster (in addition to single node transactions). The transaction will only be persisted if it is confirmed by a consensus of nodes; if it is not, the transaction is cancelled and rolled back.
  • Distributed counters

Indexes and querying

Queries are expressed in LINQ or with a custom query language named RQL (stands for Raven Query Language) with syntax similar to SQL.

  • Dynamic indexes - in RavenDB is that queries can only be satisfied by an index; if no appropriate index exists, a new index is created to satisfy the query.
  • Graph querying - related documents can be treated as vertices in a graph, with the connections treated as edges. This makes it possible to create recursive queries.
  • Projection - indexes can be configured to transform indexed data, perform calculations, perform aggregations, and execute JavaScript code on the server side.
  • Full-text search - at a low level, data is indexed with Lucene.net, which means indexes support full-text search.

Timeline

No Timeline data yet.

Further Resources

Title
Author
Link
Type
Date
No Further Resources data yet.

References

Find more entities like RavenDB

Use the Golden Query Tool to find similar entities by any field in the Knowledge Graph, including industry, location, and more.
Open Query Tool
Access by API
Golden Query Tool
Golden logo

Company

  • Home
  • Pricing
  • Enterprise

Legal

  • Terms of Service
  • Enterprise Terms of Service
  • Privacy Policy

Help

  • Help center
  • API Documentation
  • Contact Us
By using this site, you agree to our Terms of Service.