Git Product home page Git Product logo

bubdm / stash Goto Github PK

View Code? Open in Web Editor NEW

This project forked from andyhitchman/stash

0.0 0.0 0.0 22.58 MB

Stash is a persistence engine for .NET. It eschews relational models and object/relational mapping and instead follows the No-Sql paradigm of storing graphs or 'documents'. Take a look at the Wiki for an overview of how it works.

License: Other

C# 79.08% JavaScript 20.90% ASP 0.02%

stash's Introduction

Stash is a persistence engine for .NET. It eschews relational models and object/relational mapping
and instead follows the No-Sql paradigm of storing serialised graphs or 'documents'.

It is effectively a Key/value store with access via Indexes.

Stash currently uses BerkeleyDB as its persistence store. Other persistent engines may be implemented. 

Executable documentation can be found in the Stash.ExecutableDoco project. I'm also trying to think of
a suitable example application. 

Improvement in the pipeline are:

  * Have queries work over the current session as well as the backing store.
  * Implement Azure Table Storage backing store (possibly build on Lokad.Cloud).
  * Look at other potential backing stores (e.g. Lucene.Net, ESENT, SQLServer).
  * Create a Linq provider for StashedSet.
  * Finish the implementation of Map/Reduce.
  * Implement BSON and JSON serialisers.
  * Implement web server to serve graphs/documents directly over HTTP using a RESTful API.
  * Build a meaningful example application.
  * Refine executable documentation.
  * Explore migration strategies/tooling for:
		* New/changed indexes (calculate new index/recalculate existing index).
		* Migrating updated serialized objects (handle changes to type members).
  * Meaure performance and optimise if possible.
  * Look at how Stash could leverage Berkeley Replication and HA.
  * Explore options for sharding/partitioning data:
		* Probably a RemoteBackingStore and a ParititionBackingStore working in concert.
		* Need to examine 'hard' problems about adding/removing nodes and resilience. 
		* Rhino DHT could be useful here?

stash's People

Contributors

andyhitchman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.