Comments (7)
Also I opened https://github.com/dmbarbour/haskell-vcache/issues/5 It would be very nice to have vcache for persistence, something like IPFS for transport, and then this as a rather-smaller layer on top.
from juno.
I don't have a specific use-case in mind.
Versus postgres I have nothing super concrete either. The Merkle DAG maps to immutable functional program heap very well. But while relational DBs can probably the same Haskell datatypes, the mapping isn't as clean---some relational features aren't used, yet properties (immutability and access patterns) aren't expressible. Basically, I think some IPFS-like transport and persistence layer is the "correct" abstraction on which to layer this sort of consensus infrastructure, and I hope doing so long term allows more optimizations / less complexity.
from juno.
https://github.com/dmbarbour/haskell-vcache is also worthy of a mention then.
from juno.
Agreed, that's probably an even better choice
from juno.
I should probably add that the reason I feel acid state is a good match for Juno is that it is basically implemented as a log of modifications to the datatype, with snapshots being stored occasionally, so the raft log perfectly marries with it.
from juno.
So the key is only so much of the data will change every iteration.
Initially, the Haskell data type / virtual heap is stored and transferred as a Merkle dag, and Raft only worries about a single changing pointer into the virtual heap. So top level mutable references and immutable everything else.
Then there is what VCache does with the PVars---they don't have to be top level. That corresponds to immutable nodes including black box names. The raft log would correspond to a single top-level root pointer, but rather transactions over the (also changing as variables are added or dropped) map of bindings.
from juno.
FYI: updates are out.
I am interested in this idea but don't have the bandwidth to focus on it in the near term. To get me thinking about this correctly:
- what would the use case of this be?
- what would this give you over an integrated persistence layer (e.g. postgres) that you read from instead?
from juno.
Related Issues (11)
- Readme file mispelling HOT 1
- tmux version 2.1 not supported HOT 5
- implement persistence? HOT 1
- non-descriptive Error in SHA2 when installing HOT 4
- how about use makeClassy instead of makeLense for Config type?
- Trouble running the demo HOT 6
- Thanks for being awesome HOT 1
- Active HOT 1
- Plot does not fit the plot pane HOT 1
- Fundamental Issues
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from juno.