We have just released a new bunch of bytes called Siaqodb 5.5,  which makes it a true hybrid  database engine. Siaqodb provides now a full featured DocumentStore that allows you to store Documents (concept from Document Databases ) and it can run efficient queries over stored documents.

Documents are stored in Buckets which can be seen as collections of Documents of the same type. So from now on you will able to do this:

IBucket bucket = siaqodb.Documents["invoices"];

Document doc=new Document();
doc.Key="MyDoc-123";
doc.SetContent(new Invoice());
doc.SetTag("year",2016);

//store the doc
bucket.Store(doc);

//get docs by LINQ
var docs=from Document d in bucket
where d.GetTag("year")==2016
select d;

You can take a look more deeply on how to work with Documents here.

Besides that, those buckets from DocumentStore can be synchronized with a NoSQL server side/cloud database like CouchDB or MongoDB. This solution is called SiaqodbCloud and has 2 main components:

1. SiaqodbCloud-Service which is an Open Source web service and it can be downloaded from Github.
As an ASP.NET WebAPI project, and after successfully installing and starting it,  it can be used as a replication end point for Siaqodb.
Being open sourced with a permissive Apache License version 2.0,  means you can install it in your preferred cloud or in your own data-center.

2. SiaqodbCloud client consists in SiaqodbCloud.dll assembly and contains all necessary functionality that allows you to Synchronize Siaqodb from client side with CouchDB or MongoDB at the cloud side via SiaqodbCloud-Service.

Example of a Sync:


SiaqodbSync syncContext = new SiaqodbSync("http://localhost:11735/v0/", "access_key_id", "secret_access_key");

IBucket bucket = siaqodb.Documents["invoices"];

var syncResult=syncContext.Pull(bucket); //this will trigger a full Sync: Push first local changes to server and then Pull the changes from server and store on local db.

A complete documentation about SiaqodbCloud and Sync can be found here , also a full example project can be found inside Siaqodb package.

Grab the fresh bytes now and start building your next app with a reliable and fast database!