Skip to content

馃殌 Datacake 0.4.0

Choose a tag to compare

@ChillFish8 ChillFish8 released this 06 Jan 00:20
· 26 commits to main since this release

Datacake 0.4.0

This is the packaged release of several updates to all the packages, notably a lot of performance improvements have been made, bugs fixed and API changes adjusted.

Datacake is moving away from simply being an eventually consistent store, and rather is trying to become a toolbox for distributed systems in Rust giving a similar experience to the state of distributed systems in Erlang.

Packages Updated:

Datacake Package

This is the wrapper crate that combines all of the sister crates and puts them behind features that may be disabled.

Datacake Node Package

This is the result of extracting all of the membership and core logic out of the eventually consistent store and making it a more abstract approach, we now have the idea of cluster extensions that can be dynamically loaded and unloaded for an already existing cluster managed by the node package.

Datacake RPC Package

While extracting the node system, tonic became very limiting, the lack of the ability to dynamically add and remove services creates many annoying APIs when trying to create this extension system, so the solution was simple: Create our own system built on the same underlying hyper server, but using the amazing rkyv package and giving it an actor-like feel to it. It also supports zero-copy deserialization.

Datacake Eventual Consistency Package (Formerly Datacake Cluster)

This is now a simple cluster extension building upon all of the extra packages, the same easy-to-use experience or even easier in fact!

This was renamed from datacake-cluster to datacake-eventual-consistency to be more transparent about the responsibilities of each crate.
The old crate name may return in the future if there's a good cause for it.

Datacake Sqlite Package

Nothing new here, just all the fixes and changes that the other packages caused!