https://github.com/rcardin/actorbase
Implementation of a key-value NoSQL database using the actor-model.
https://github.com/rcardin/actorbase
akka database distributed-systems scala
Last synced: about 1 year ago
JSON representation
Implementation of a key-value NoSQL database using the actor-model.
- Host: GitHub
- URL: https://github.com/rcardin/actorbase
- Owner: rcardin
- License: mit
- Created: 2016-10-01T15:54:50.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-01-09T06:56:35.000Z (over 8 years ago)
- Last Synced: 2025-03-30T17:11:15.311Z (about 1 year ago)
- Topics: akka, database, distributed-systems, scala
- Language: Scala
- Size: 106 KB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.org/rcardin/actorbase)
# Actorbase
Implementation of a key-value NoSQL database using the actor-model.
The reference model is described in this post on my technical blog:
[Actorbase or "the persistence chaos"](http://rcardin.github.io/database/actor-model/reactive/akka/scala/2016/02/07/actorbase-or-the-persistence-chaos.html)
## Communication model
Using the notation defined in the Appendix A of Roland Kuhn's book, [Reactive Design Patterns](https://www.reactivedesignpatterns.com/),
the communication model developed among main actors of Actorbase can be summarize as the following.

As the above mode shows, using the Cameo Pattern every instance of a two-phase commit (2PC) between actors was removed.
This kind of design should let the Actorbase architecture to easily scale horizontally.
## Available implementations
The reference model was also implemented by other teams of developers as
a *p.o.c.* project made during the [Software Engineering](http://www.math.unipd.it/~tullio/IS-1/2015/Progetto/C1.pdf)
course at the Department of Mathematics of the University of Padova.
The currently available implementations are:
- [SweeneyThreads Actorbase](http://sweeneythreads.github.io/actorbase/)
- [ScalateKids Actorbase](https://github.com/ScalateKids/Actorbase)