ACID Document Database

Overview

RavenDB - An ACID NoSQL Document Database

This repository contains source code for the RavenDB document database. With a RavenDB database you can set up a NoSQL data architecture or add a NoSQL layer to your current relational database.

RavenDB Studio

Supported Platforms

  • Windows
  • Linux
  • Docker
  • MacOS
  • Raspberry Pi

Grab Your License and Download Latest Version

Request your license.

Download the latest version of RavenDB.

Getting Started

Install and set up your database.

Learn RavenDB Quickly

RavenDB Bootcamp is a free, self-directed learning course. In just three units you will learn how to use RavenDB to create fully-functional, real-world programs with NoSQL Databases. If you are unfamiliar with NoSQL, it’s okay. We will provide you with all the information you need.

Stay Updated on New Developments

We keep adding new features to improve your RavenDB experience. Check out our latest improvements, updated weekly.

Documentation

Access full documentation for RavenDB. Like our database, it is easy to use.

Where to Ask for Help

If you have any questions, or need further assistance, you can contact us directly.

Report an Issue

Please check where to report an issue in our contribution guidelines.

RavenDB Developer Community Group

If you have any questions please visit our community group. The solutions for the most common challenges are available. You are welcome to join!

Pull Requests

Please check how to submit a Pull Request in our contribution guidelines.

Setup & Run

First please review and set up prerequisites.

Launch RavenDB:

Running locally:

<path/to/ravendb>/Server/Raven.Server

Registering as service in Windows using rvn utility available in the package Server directory:

<path\to\ravendb>\rvn.exe windows-service register --service-name RavenDB4

Hello World (.NET)

Server Side

  • Launch a RavenDB server instance as follows:
<path/to/ravendb>/Server/Raven.Server --ServerUrl=http://localhost:8080
  • Open a web browser and enter http://localhost:8080

  • Click on Databases in the menu on the left-hand side, and then create a new database named SampleDataDB

  • Click on Settings and then on Create Sample Data in the left menu. Now Click on Create

Client Side

mkdir HelloWorld
cd HelloWorld
dotnet new console
  • Add the RavenDB Client package:
   dotnet add package RavenDB.Client --version 5.1.0-*
  • Replace the content of Program.cs with the following:
using System;
using Raven.Client.Documents;

namespace HelloWorld
{
    class Shippers
    {
        public string Name;
        public string Phone;
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            using (var store = new DocumentStore
            {
                Urls = new string[] {"http://localhost:8080"},
                Database = "SampleDataDB"
            })
            {
                store.Initialize();

                using (var session = store.OpenSession())
                {
                    var shipper = session.Load<Shippers>("shippers/1-A");
                    Console.WriteLine("Shipper #1 : " + shipper.Name + ", Phone: " + shipper.Phone);
                }
            }
        }
    }
}
  • Type:
dotnet restore
dotnet build
dotnet run
Enjoy :)
Issues
  • CountAsync Fails if RavenQuery.Load is used

    CountAsync Fails if RavenQuery.Load is used

    await (from cc in DbSession.ContactContent.ListSecure(Identity)
    		where
    		cc.ContactId == contactId
    		let content = RavenQuery.Load<ContentRefDto>(cc.ContentId)
    		select new ContentRefWithProgressDto
    		{
    			ContentType = content.ContentType,
    			PercentComplete = cc.PercentComplete,
    			CoverArtUrl = content.CoverArtUrl,
    			Description = content.Description,
    			Goal = content.Goal,
    			Id = content.Id,
    			Milestone = content.Milestone,
    			MonetizationRule = content.MonetizationRule,
    			Name = content.Name,
    			ReleaseOn = content.ReleaseOn,
    			RevShareRule = content.RevShareRule
    		}).CountAsync();
    

    I need to do this for paging reasons. I need the total possible records that can be returned, and then I need to do top/skip after that to apply the paging.

    Otherwise, it can't know how many more there are.

    But when I run this query, as soon as it has the load function, it fails saying that You can't run a sync query in an async session.

    I can't do it without the projection, because odata $filter has to apply to the projection so that the users have the shape of the object to apply $filter with.

    opened by jhancock4d 23
  • Improved Fsharp integration

    Improved Fsharp integration

    Hi,

    I have added a library Raven.Client.Lightweight.FSharp.

    Essentially it adds a set of combinators over the existing client API and a computation expression builder, mainly for syntactic sugar.

    There are a couple of points,

    • A dependency on FSharp.Powerpack.Linq.Fixed exists because support for linq expressions is somewhat ropey in F#, this improves in F# 3.0, so it is only for < .NET 4
    • I have tried to bring the tests inline in the same way as the rest of the raven solution
    • I realise that I don't have 100% coverage of all the features, I have just gone with the stuff that I use most often. And due to the lack of support for Linq expressions , c# is still needed to define indexes.

    Let me know what you think. I can be contacted directly on twitter via @colinbul

    Cheers

    Colin

    opened by colinbull 22
  • Possible memory leak

    Possible memory leak

    opened by lesobre 21
  • [3.5] Embedded instance becomes completely unavailable to service any requests

    [3.5] Embedded instance becomes completely unavailable to service any requests

    Reposting this because I got no answer yet in the other issue

    Occasionally we see RavenDB 3.5 completely stall and getting into 503. Here is a screenshot of a process dump where RavenDB is in such a state.

    image

    It is completely mysterious why this happens. We have have seen so far is that before this happens we are getting quite a few ReplicationInformerBase problems and timeouts.

    2020-11-15 20:47:27.0846|313|Warn|Raven.Client.Connection.Async.AsyncServerClient|Was unable to fetch topology from primary node http://localhost also there is no cached topology
    2020-11-15 20:55:46.6078|145|Warn|Raven.Client.Connection.Async.AsyncServerClient|Was unable to fetch topology from primary node http://localhost also there is no cached topology
    2020-11-15 20:57:26.6249|145|Error|Raven.Client.Connection.ReplicationInformerBase`1|Could not contact master for new replication information
    Raven.Abstractions.Connection.ErrorResponseException: A task was canceled. ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Raven.Client.Connection.Implementation.HttpJsonRequest.<>c__DisplayClass36_0.<<SendRequestInternal>b__0>d.MoveNext()
       --- End of inner exception stack trace ---
       at Raven.Client.Connection.Implementation.HttpJsonRequest.<>c__DisplayClass36_0.<<SendRequestInternal>b__0>d.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at Raven.Client.Connection.Implementation.HttpJsonRequest.<RunWithAuthRetry>d__38`1.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Raven.Client.Connection.Implementation.HttpJsonRequest.<ReadResponseJsonAsync>d__35.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Raven.Client.Connection.Async.AsyncServerClient.<DirectGetReplicationDestinationsAsync>d__185.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Raven.Abstractions.Util.AsyncHelpers.<>c__DisplayClass1_0`1.<<RunSync>b__0>d.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at Raven.Abstractions.Util.AsyncHelpers.RunSync[T](Func`1 task)
       at Raven.Client.Connection.ReplicationInformer.RefreshReplicationInformationInternal(String url, Func`1 getReplicationDestinations)
    

    Sometimes it also happens on trying to acquire the token as described in #11108

    In our dumps we can also see that RavenDB is hanging in

    0:043> !clrstack
    OS Thread Id: 0x2604 (43)
            Child SP               IP Call Site
    000002401107ec50 00007ff8e018ff70 Raven.Abstractions.Logging.LoggerExecutionWrapper.Log(Raven.Abstractions.Logging.LogLevel, System.Func`1<System.String>)
    000002401107ecc0 00007ff8e13df13c Raven.Client.Changes.RemoteChangesClientBase`3[[System.__Canon, mscorlib],[System.__Canon, mscorlib],[System.__Canon, mscorlib]].Send(System.String, System.String)
    000002401107ed90 00007ff93c16f2c6 System.Threading.Tasks.Task.Execute()
    000002401107edd0 00007ff93c125ab3 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    000002401107eea0 00007ff93c125944 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    000002401107eed0 00007ff93c16f565 System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
    000002401107ef80 00007ff93c16ec93 System.Threading.Tasks.Task.ExecuteEntry(Boolean)
    000002401107efc0 00007ff93c164e22 System.Threading.ThreadPoolWorkQueue.Dispatch()
    000002401107f458 00007ff93f326873 [DebuggerU2MCatchHandlerFrame: 000002401107f458] 
    

    which corresponds to

            protected Task Send(string command, string value)
            {
                lock (this)
                {
                    logger.Info("Sending command {0} - {1} to {2} with id {3}", command, value, url, id);
                    var sendTask = lastSendTask;
                    if (sendTask != null)
                    {
                        return sendTask.ContinueWith(_ =>
                        {
                            Send(command, value);
                        });
                    }
    
                    try
                    {
                        var sendUrl = url + "/changes/config?id=" + id + "&command=" + command;
                        if (string.IsNullOrEmpty(value) == false)
                            sendUrl += "&value=" + Uri.EscapeUriString(value);
    
                        var requestParams = new CreateHttpJsonRequestParams(null, sendUrl, HttpMethods.Get, credentials, Conventions)
                        {
                            AvoidCachingRequest = true
                        };
                        var request = jsonRequestFactory.CreateHttpJsonRequest(requestParams);
                        lastSendTask = request.ExecuteRequestAsync().ObserveException();
    
                        return lastSendTask.ContinueWith(task =>
                        {
                            lastSendTask = null;
                            request.Dispose();
                        });
                    }
                    catch (Exception e)
                    {
                        return new CompletedTask(e).Task.ObserveException();
                    }
                }
            }
    

    which raises quite a few questions. If we understand this code correctly multiple sends are essentially stacked on top of each other by creating a continuation chain. The continuation chain does not return the task. Is that to avoid deep call chain nesting and thus running into stack overflows? But doesn't that mean enqueued sends will never be awaited in the continuation chain and through that basically flooding the server?

    Additionally all the continuations are swallowing any exceptions. Should RavenDB at any point in time return 503 everything would still just continue and try to continue to hammer the server?

    In our cases we see large delayed in unwatching bulk inserts even though the bulk insertion session was already disposed. We have a hunch this is also related to this continuation chain

    The replication informer is another resource hog because it combines sync over async with a custom synchronization context calling into async chains that then use Task.Factory.StartNew to call into sync over async code again. So essentially a request that would normally if truly async require one thread now ends up needing up to four different threads to do a simple task.

    opened by danielmarbach 18
  • Remote changes base

    Remote changes base

    A demonstration how #11543 could be solved

    v3.5 
    opened by danielmarbach 17
  • Add support for Certificates by Key + Crt

    Add support for Certificates by Key + Crt

    The reason why is that if you're using cert-manager in Kubernetes it generates a crt and key file in a secret (tls.crt and tls.key within the secret). It would be really nice to be able to use the cert that is linked up automatically from this cert.

    And more so, it would be really nice to have it automatically update when those values change.

    I still don't have it working from the instructions for Azure Kubernetes because of certificate issues, and I've been at it for hours because this is WAY too complex as it stands right now.

    opened by JohnGalt1717 16
  • Update to json.net 4.0.3

    Update to json.net 4.0.3

    As discussed briefly here http://groups.google.com/group/ravendb/browse_thread/thread/0891df3ae4743da8/a61979e9c6d1c25b?show_docid=a61979e9c6d1c25b there are some problems with version 4.0.2 of json.net and some issues with upgrading it to 4.0.3. I have made an update and fixed the issues.

    Performance seems a little higher too (in my pretty uncontrolled environment):

    json.net 4.0.2: Starting Json performance test with 100 iterations... Using Newtonsoft Json.NET containers: Reading took 50197 ms Cloning took 13391 ms Using Raven.Json containers: Reading took 28735 ms Cloning took 16614 ms Press any key to continue . . .

    json.net 4.0.3: Starting Json performance test with 100 iterations... Using Newtonsoft Json.NET containers: Reading took 40269 ms Cloning took 26048 ms Using Raven.Json containers: Reading took 27173 ms Cloning took 13502 ms Press any key to continue . . .. . .

    opened by asgerhallas 15
  • Enable Reverse Proxy and On Setup generate client keys

    Enable Reverse Proxy and On Setup generate client keys

    The entire configuration could be made VASTLY more simple, especially for environments like kubernetes etc. if we could simply have RavenDb recognize that it is actually running in https by having it recognize reverse proxy headers being passed in (asp.net core allows this in your startup.cs) and then have it simply be open or use a temporary admin password you set in the config for the first load to gain access.

    Then once you're in, you can generate client certificates directly in the UI.

    The current approach is WAY too complex and prone to errors. I need to configure this on 3 test environments and it's just a massive PITA as it stands right now.

    opened by JohnGalt1717 14
  • 5.1 to 5.2 merge

    5.1 to 5.2 merge

    null

    v5.2 
    opened by ppekrol 0
  • RavenDB-17579: Cluster command that trigger databases should wait for IndexNotification 4.2

    RavenDB-17579: Cluster command that trigger databases should wait for IndexNotification 4.2

    https://issues.hibernatingrhinos.com/issue/RavenDB-17579

    Additional description

    https://github.com/ravendb/ravendb/pull/13188

    v4.2 
    opened by garayx 0
  • RavenDB-17579: Cluster command that trigger databases should wait for IndexNotification

    RavenDB-17579: Cluster command that trigger databases should wait for IndexNotification

    Issue link

    https://issues.hibernatingrhinos.com/issue/RavenDB-17579

    Additional description

    We were waiting on CommitIndexChange which is set after CSM.Apply() finish, instead we should WaitWaitForIndexNotification which is set after the changes propagate

    Type of change

    • Bug fix

    How risky is the change?

    • Low

    Backward compatibility

    • Not relevant

    Is it platform specific issue?

    • No

    Documentation update

    • No documentation update is needed

    Testing

    • Tests have been added that prove the fix is effective or that the feature works
    • It has been verified by manual testing

    Is there any existing behavior change of other features due to this change?

    • No

    UI work

    • No UI work is needed
    v5.1 
    opened by garayx 0
  • RavenDB-16689 : adjustments to flaky test

    RavenDB-16689 : adjustments to flaky test

    Issue link

    https://issues.hibernatingrhinos.com/issue/RavenDB-16689

    v4.2 
    opened by aviv86 0
  • RavenDB-17519 Corax - show the raw index entries

    RavenDB-17519 Corax - show the raw index entries

    Issue link

    https://issues.hibernatingrhinos.com/issue/RavenDB-17519

    Additional description

    Show raw index.

    Please delete below the options that are not relevant

    Type of change

    • New feature

    How risky is the change?

    • Low

    Backward compatibility

    • Not relevant

    Is it platform specific issue?

    • No

    Documentation update

    • No documentation update is needed

    Testing

    • It has been verified by manual testing

    Is there any existing behavior change of other features due to this change?

    • No

    UI work

    • No UI work is needed
    Corax 
    opened by maciejaszyk 0
  • RavenDB-17562 Link to show details of rolling index deployment

    RavenDB-17562 Link to show details of rolling index deployment

    Issue link

    https://issues.hibernatingrhinos.com/issue/RavenDB-17562

    Additional description

    scroll to the index in list view when coming from a rolling deployment link

    Type of change

    • Task

    How risky is the change?

    • Low

    Backward compatibility

    • Non breaking change

    Is it platform specific issue?

    • No

    Documentation update

    • No documentation update is needed

    Testing

    • It has been verified by manual testing

    Is there any existing behavior change of other features due to this change?

    • No

    UI work

    • No UI work is needed
    v5.2 
    opened by Danielle9897 0
  • RavenDB-17580 fix various issues in streaming

    RavenDB-17580 fix various issues in streaming

    Issue link

    https://issues.hibernatingrhinos.com/issue/RavenDB-17580

    Additional description

    This PR fix multiple issues:

    1. Add the ability to cancel time-series stream/query, we pass a token to the time-series reader and throw if needed.
    2. The UnmanagedJsonParserHelper.ReadAsync had and edge case of throwing when reading a single separator from stream at the beginning of the MoveNextAsync, the sync version UnmanagedJsonParserHelper.Read is correct.
    3. AsyncBlittableJsonTextWriter didn't flush to the output stream upon disposal

    Type of change

    • Bug fix

    How risky is the change?

    • Moderate

    Backward compatibility

    • Not relevant

    Is it platform specific issue?

    • No

    Documentation update

    • No documentation update is needed

    Testing

    • It has been verified by manual testing

    I've tried to write some tests to it, but it was hard to simulate the exact conditions for the above issues. It constantly throw when streaming from remote, but locally it has never failed.

    Is there any existing behavior change of other features due to this change?

    • No

    UI work

    • No UI work is needed
    v5.2 
    opened by karmeli87 0
  • RavenDB-17513 - faster generation of subscription ids

    RavenDB-17513 - faster generation of subscription ids

    Issue link

    https://issues.hibernatingrhinos.com/issue/RavenDB-17513

    Additional description

    Improved the id generation of subscription ids. If we had more subscriptions, it would take more time to restore them during database import/restore. (restoring 1024 subscriptions would take ~30 seconds)

    Type of change

    • Bug fix

    How risky is the change?

    • Low

    Testing

    • Tests have been added that prove the fix is effective or that the feature works
    v4.2 
    opened by grisha-kotler 0
  • RavenDB-17475 - Add Incremental TS to Sample Data

    RavenDB-17475 - Add Incremental TS to Sample Data

    Issue link

    https://issues.hibernatingrhinos.com/issue/RavenDB-17475

    Additional description

    Adding Incremental Time-Series "INC:ProductViews" to "Products".

    Type of change

    • Optimization

    How risky is the change?

    • Low

    Backward compatibility

    • Non breaking change

    Is it platform specific issue?

    • No

    Documentation update

    • No documentation update is needed

    Testing

    • It has been verified by manual testing

    Is there any existing behavior change of other features due to this change?

    • No

    UI work

    • No UI work is needed
    v5.3 
    opened by shiranshalom 2
  • RavenDB-17281 Query explanations in studio are ordered by id, even if…

    RavenDB-17281 Query explanations in studio are ordered by id, even if…

    Issue link

    https://issues.hibernatingrhinos.com/issue/RavenDB-17281

    Additional description

    Retain server side order for explanations

    Type of change

    • Bug fix

    How risky is the change?

    • Low

    Backward compatibility

    • Non breaking change

    Is it platform specific issue?

    • No
    v5.2 
    opened by ml054 0
Releases(5.2.0)
  • 5.2.0(Jun 29, 2021)

    Features

    • [Certificates] added read-only certificates. Documentation
    • [Cluster] added support for atomic cluster transactions (enabled by default)
    • [Databases] added the ability to prevent deletes (with ignore or immediate error on delete)
    • [ETL] added OLAP ETL support. Documentation
    • [Indexes] added rolling index deployment. Documentation
    • [Indexes] added the ability to define custom analyzer directly in Studio without the need of creating a custom DLL (database and server-wide). Documentation
    • [Indexes] up to 30% improvement in performance when doing spatial indexing
    • [Indexes] added the ability to throttle indexing
    • [Indexes] exposed index history in Studio. Documentation
    • [Monitoring] added monitoring endpoints, Telegraf plugin and Grafana template. Documentation
    • [Querying] added the ability to define custom sorters server-wide
    • [Querying] up to 20% improvement in performance when doing spatial queries
    • [Querying] added the ability to display spatial data on map in Studio. Documentation
    • [Studio] added Cluster Dashboard. Documentation

    Server

    • [Backups] do not put empty string to RemoteFolderName when creating server-wide backup
    • [Certificates] fixed issue with replacing a certificate using pinning hash
    • [Cluster] large raft commands should not cause cluster timeouts and cause unnecessary elections
    • [Configuration] added 'License.DisableAutoUpdateFromApi' configuration option
    • [Indexes] added support for ISO-8601 datetime format
    • [Indexes] fixed index instance leak when database record change is being handled but database is being unloaded at the same time
    • [Indexes] fixed issue with GroupBy not returning appropriate results in Time Series indexes
    • [Indexes] fixed possible deadlock that could happen when max number of concurrent indexes is being set
    • [JavaScript] updated Jint to latest version
    • [JSON] optimized blittable JSON parsing
    • [Querying] queries that happen during index replacement should properly react to the OperationCanceledException as well, this exception can happen at Voron storage level when storage of an old index is being disposed
    • [Querying] fixed possible NRE that could happen when queries are being executed and we are skipping results
    • [Replication] fixed possible NRE when Documents DeleteRevision flag was not stripped properly
    • [Replication] fixed possible endless loop when we have missing attachments, but batch size is limiting the batch
    • [Replication] fixed possible endless loop caused by not handling attachment stream files properly when destination database in encrypted
    • [Voron] fixing case where a newly created read transaction could get an already disposed pager state of a scratch file
    • [.NET] updated to 5.0.7

    Client API

    • [Querying] added LongCount and LongCountAsync to the queries
    • [Session] fixed issue with including typed Time Series
    • [Time Series] added function evaluation support for group by expressions

    Studio

    • added view for removing change vector entries of a database
    • sample data now includes spatial data
    • refreshed warning message displayed when database is being deleted
    • refresh server uptime properly on the dashboard
    • setup should show incompatible browser notification
    Source code(tar.gz)
    Source code(zip)
  • 5.1.0(Nov 18, 2020)

    Features

    • [Filtered Replication] added feature.
    • [Indexes] added Additional Assemblies from NuGet feature.
    • [Indexes] added 'Attachment Content Indexing' support. Documentation
    • [Indexes] added Counters and Time Series support to JavaScript indexes
    • [Pull Replication] revamped feature, added the ability not only to pull the data but also to push it
    • [Replication] added server-wide external replication feature
    • [Time Series] added gap filling support
    • [Time Series] added scale support

    Out of Experimental

    • [Documents Compression] removed experimental flag

    Other

    • [Backups] added the ability to exclude databases from server-wide backups
    • [Backups] added 'Backup Now' functionality
    • [Indexes] optimized how reduce result is constructed
    • [Indexes] aligned list of available methods (e.g. counterNamesFor) in JavaScript indexes with C# ones
    • [Time Series] added streaming support
    • [Time Series] added 'percentile', 'slope' and 'stddev' support
    • [Time Series] added ETL support
    • [Time Series] added the ability to group by tag
    • [.NET] migrated to .NET 5.0
    • [.NET] decreased number of files in the distribution package

    Client API

    • [Conventions] added 'ShouldIgnoreEntityChanges' convention. Documentation
    • [Events] event 'OnBeforeDelete' will be invoked when 'Delete(id)' is executed from now on
    • [Querying] support for explicitly stating the origin of a value in projection. Documentation
    • [Querying] added support for 'RavenQuery.Cmpxchg' in single projection queries
    • [Serialization] added support for C# 9 records
    • [Session] support for includes in Time Series. Documentation
    • [Session] implemented 'ConditionalLoad'. Documentation
    • [Subscriptions] added 'OnUnexpectedSubscriptionError' event

    Studio

    • [Backups] added dedicated view
    • [Configuration] added the ability to collapse document properties by default
    • [Document] added the ability to collapse the properties panel
    • [Menu] added the ability to collapse it
    • [Quality of Life] polished a lot of views and made considerable amount of UX enhancements
    • [Setup] added the notification to download the admin certificate at the end of the setup
    Source code(tar.gz)
    Source code(zip)
The MongoDB Database

MongoDB README Welcome to MongoDB! COMPONENTS mongod - The database server. mongos - Sharding router. mongo - The database shell (uses inter

mongodb 20.7k Nov 20, 2021
The open-source database for the realtime web.

RethinkDB What is RethinkDB? Open-source database for building realtime web applications NoSQL database that stores schemaless JSON documents Distribu

RethinkDB 25.1k Nov 30, 2021
🥑 ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.

ArangoDB Slack: ArangoDB is a scalable open-source multi-model database natively supporting graph, document and search. All supported data models & ac

ArangoDB 11.8k Nov 25, 2021
The versioned, forkable, syncable database

Use Cases | Setup | Status | Documentation | Contact Welcome Noms is a decentralized database philosophically descendant from the Git version control

Attic Labs 7.5k Nov 28, 2021
Seamless multi-master syncing database with an intuitive HTTP/JSON API, designed for reliability

Apache CouchDB README Installation For a high-level guide to Unix-like systems, inc. Mac OS X and Ubuntu, see: INSTALL.Unix For a high-level guide to

The Apache Software Foundation 5.2k Nov 29, 2021
A distributed, fault-tolerant graph database

STATUS Twitter is no longer maintaining this project or responding to issues or PRs. FlockDB FlockDB is a distributed graph database for storing adjan

Twitter Archive 3.3k Nov 30, 2021
A flexible database focused on performance and scalability

HOW TO INSTALL You can either download an appropriate binary package for your platform or build from source. Binary packages can be obtained from here

Hypertable, Inc. 252 Nov 16, 2021
With DocPHT you can take notes and quickly document anything and without the use of any database.

DocPHT ?? With DocPHT you can take notes and quickly document anything! You can also manage users, save versions of your pages and run and restore bac

DocPHT 105 Nov 18, 2021
With DocPHT you can take notes and quickly document anything and without the use of any database.

DocPHT ?? With DocPHT you can take notes and quickly document anything! You can also manage users, save versions of your pages and run and restore bac

DocPHT 105 Nov 28, 2021
MySQL Server, the world's most popular open source database, and MySQL Cluster, a real-time, open source transactional database.

Copyright (c) 2000, 2021, Oracle and/or its affiliates. This is a release of MySQL, an SQL database server. License information can be found in the

MySQL 7.2k Nov 22, 2021
Official home of the DB Browser for SQLite (DB4S) project. Previously known as "SQLite Database Browser" and "Database Browser for SQLite". Website at:

DB Browser for SQLite What it is DB Browser for SQLite (DB4S) is a high quality, visual, open source tool to create, design, and edit database files c

null 15.7k Nov 28, 2021
Accelerated Text is a no-code natural language generation platform. It will help you construct document plans which define how your data is converted to textual descriptions varying in wording and structure.

A picture is worth a thousand words. Or is it? Tables, charts, pictures are all useful in understanding our data but often we need a description – a s

TokenMill 394 Nov 30, 2021
A simple Document Management System for private use with basic functionality to organize your documents digitally

EveryDocs Core EveryDocs Core is the server-side part of EveryDocs. This project will contain an web interface and a mobile app in the near future. Al

Jonas Hellmann 35 Nov 26, 2021
Open Source Document Management System for Digital Archives (Scanned Documents)

Papermerge - Document Management System Papermerge is an open source document management system (DMS) primarily designed for archiving and retrieving

Eugen Ciur 1.4k Nov 25, 2021
Lightweight document management system packed with all the features you can expect from big expensive solutions

Teedy is an open source, lightweight document management system for individuals and businesses. ✨ Sponsor this project if you use and appreciate it! ✨

Sismics 1k Nov 28, 2021
Polar is a personal knowledge repository for PDF and web content supporting incremental reading and document annotation.

Polar Bookshelf Polar is personal knowledge repository which supports advanced features like incremental reading, annotation, comments, and spaced rep

Kevin Burton 4.4k Nov 30, 2021
A generic JSON document store with sharing and synchronisation capabilities.

Kinto Kinto is a minimalist JSON storage service with synchronisation and sharing abilities. Online documentation Tutorial Issue tracker Contributing

Kinto 4.1k Dec 1, 2021
TagSpaces is an offline, open source, document manager with tagging support

TagSpaces is a free, non-locking, open source application for organizing and managing your local files with the help of tags. It features note taking

TagSpaces 2.4k Nov 26, 2021
Free Open Source Document Management System (mirror, no pull request or issues)

Mayan EDMS is a document management system. Its main purpose is to store, introspect, and categorize files, with a strong emphasis on preserving the c

Mayan EDMS 293 Nov 26, 2021
Etherpad: A modern really-real-time collaborative document editor.

A real-time collaborative editor for the web About Etherpad is a real-time collaborative editor scalable to thousands of simultaneous real time users.

The Etherpad Foundation 11.8k Nov 23, 2021
ONLYOFFICE 2.3k Nov 27, 2021
WebODF - JavaScript Document Engine

WebODF WebODF is a ODF JavaScript library originally created by KO GmbH. It makes it easy to add Open Document Format (ODF) support to your website an

WebODF 756 Nov 18, 2021
:mag: Ambar: Document Search Engine

?? Ambar: Document Search Engine Ambar is an open-source document search engine with automated crawling, OCR, tagging and instant full-text search. Am

RD17 1.8k Nov 22, 2021
TagSpaces is an offline, open source, document manager with tagging support

TagSpaces is a free, non-locking, open source application for organizing and managing your local files with the help of tags. It features note taking

TagSpaces 2.4k Nov 26, 2021
Haroopad - The Next Document processor based on Markdown

Haroopad Haroopad is a markdown enabled document processor for creating web-friendly documents. You can author professional-looking documents of vario

Rhio Kim 1.5k Nov 29, 2021
KDE document viewer

Okular – Universal Document Viewer Okular can view and annotate documents of various formats, including PDF, Postscript, Comic Book, and various image

KDE GitHub Mirror 327 Nov 21, 2021
Open-Source Data Platform 🐰 — Directus wraps any SQL database with a real-time GraphQL+REST API and an intuitive app for non-technical users.

?? Introduction Directus is a real-time API and App dashboard for managing SQL database content. Free & open-source. No artificial limitations, vendor

Directus 12.9k Nov 25, 2021
Apache Druid: a high performance real-time analytics database.

Website | Documentation | Developer Mailing List | User Mailing List | Slack | Twitter | Download Apache Druid Druid is a high performance real-time a

The Apache Software Foundation 11.4k Nov 26, 2021