Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/DevrexLabs/OrigoDB
In-memory event-sourced database engine for NET/Mono
https://github.com/DevrexLabs/OrigoDB
Last synced: 1 day ago
JSON representation
In-memory event-sourced database engine for NET/Mono
- Host: GitHub
- URL: https://github.com/DevrexLabs/OrigoDB
- Owner: DevrexLabs
- License: mit
- Created: 2013-03-15T12:59:31.000Z (over 11 years ago)
- Default Branch: dev
- Last Pushed: 2020-04-13T04:56:33.000Z (over 4 years ago)
- Last Synced: 2024-04-30T00:01:31.920Z (6 months ago)
- Language: C#
- Homepage: http://origodb.com
- Size: 10.3 MB
- Stars: 138
- Watchers: 20
- Forks: 34
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: docs/security/authorization/index.md
Awesome Lists containing this project
README
## Important notice!
OrigoDB is no longer under active development. Please check out [Memstate](https://github.com/devrexlabs/memstate) which is a complete rewrite of OrigoDB featuring major improvements in the areas performance, availability, licensing, cross-platform, docker and cloud support. Memstate targets .NET Standard 2.0 so will run on .NET Framework >= 4.6.1, .NET Core >= 2.0, Xamarin and Mono.
## In-memory database for NET/Mono
An Origo database is a command-sourced in-memory object graph.
Write your custom data model, commands and queries using any .NET language, or choose from a number of existing generic models.
OrigoDB is developed and maintained by Devrex Labs. We offer commercial support, consulting, training and enterprise features.
To learn more, visit the [project web site](http://origodb.com) and read the [online documentation](http://origodb.com/docs).
[![Join the chat at https://gitter.im/DevrexLabs/OrigoDB](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/DevrexLabs/OrigoDB?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build status](https://ci.appveyor.com/api/projects/status/v96t7i3a1kf0gqq3/branch/dev?svg=true)](https://ci.appveyor.com/project/rofr/origodb/branch/dev)
## Example code
```csharp
//Nuget: Install-Package OrigoDb.Core
//Restore graph by replaying commands stored on disk
//in the current working directory
var engine = Engine.For();//Log a command to disk and then apply to in-memory graph
engine.Execute(new MyCommand{MyArg = someValue});//read the in-memory graph using a custom query
var results = engine.Execute(new MyQuery{MyArg = someValue});// -----------------------------------------
// Example #2 - Implicit operations
// -----------------------------------------
//restore graph and wrap the engine in a proxy
MyModel db = Db.For();//void methods are translated to commands
db.MyCommand(someValue);//non-void methods are translated to queries
var results = db.MyQuery(someValue);
```## Key Strengths
* As transparent as persistence can get
* Rapid development, 50% less code on the backend
* High performance, complex transaction processing
* Suitable for Domain Driven Design
* Very easy to unit test and debug
* 100% ACID, fully serialized transactions
* Powerful queries using LINQ
* Flexible and extensible data modeling using modern language and full access to the .NET Framework Class library
* Full audit trail through complete history of commands
* Mature, used in production all over the world
* Modular storage backend## Nuget
`Install-package OrigoDB.Core`## Links
* Project web site: http://origodb.com
* Documentation: http://origodb.com/docs
* Downloads: http://origodb.com/download
* Release notes: https://github.com/devrexlabs/origodb/releases
* http://twitter.com/devrexlabs
* http://twitter.com/robertfriberg