Delta is a fast distributed schema-less document-oriented JSON history service written in Elixir, where all updates to documents are represented as a RFC 6092-like deltas called changes
The purpose of the database is to provide developers with tool to build document-oriented application with soft-realtime distributed history features
As it was stated before, Delta is a document-oriented DB, which means that data is stored in a single document without relationships as opposed to a number of SQL tables and relationships.
In Delta, documents to not have schema, which means there is no restriction on how your data should be structured.
Each document belongs to a collection which are meant to be a way to organize your documents and to serve as a pseudo-datatype.
Document can be read as a whole using get(collection_id, document_id)
of your driver or as a part by passing path
in get(collection_id, document_id, path)
Each document has zero or more changes associated with it thus forming history of changes.
History is a list of changes linked via previous
attribute of a change. Changes may be added but never modified or deleted.
Each client can subscribe to changes of a particular document
To be implemented
Subject to change
To be implemented
To be implemented
- Instal Elixir
git clone https//githuhb.com/florius0/delta && cd delta
mix run --no-halt
def deps do
[
{:delta, github: "florius0/delta"}
]
end