This is a very interesting project! Given that it’s a strongly consistent distributed KV store, it seems very similar to ZK but supporting larger datasets?
Could anyone comment on how this differs from ZK?
It’s eventually consistent, so that’s a difference from ZooKeeper.
Actually, ZK is eventually consistent as well. It even has the same notion of followers (called observers) http://stackoverflow.com/questions/3662995/explaining-apache-zookeeper
ZK is not eventually consistent. If you always sync and then read, you will be sequentially consistent. You can fake eventual consistency by using fast reads only. ZK has its own version of paxos (zab) specifically to guarantee sequential consistency.
I agree with you that ZK is linearizably consistent in its core, however, it used to say that it was eventually consistent on its page.
It seems to me that Sirius has the same consistency model as ZK. I still am not seeing how it differs from ZK.