ZLog is a high-performance, strongly consistent shared-log. Currently ZLog runs on top of the Ceph and RADOS distributed storage system, but supports plugging in additional storage targets. Its goal is to replicate the CORFU protocol adapted for software-defined storage.
More information:
- System Design: https://nwat.io/blog/2014/10/26/zlog-a-distributed-shared-log-on-ceph/
- Asynchronous API Design: https://nwat.io/blog/2015/09/04/zlog-asynchronous-i/o-support/
- Key-Value Store: https://nwat.io/blog/2016/08/02/introduction-to-the-zlog-transaction-key-value-store/
Note 1: the key-value store project has be split off from zlog and moved to a dedicated repository as a full client of zlog. You can find that at https://github.com/cruzdb/cruzdb/.
Note 2: The project is undergoing a transition to https://github.com/cruzdb organization. Please let us know if we notice any broken links!
- Building from source
- Basic operations and documentation are on the wiki
- Mailing list: https://groups.google.com/group/cruzdb/
The base ZLog project provides C, C++, and Java bindings.
- C/C++: see
src/include/zlog/
- Java: see
src/java
- Go: https://github.com/cruzdb/go-zlog
We welcome and encourage people to learn and contribute to the ZLog project. If you are looking for ways to get started, we use the E-easy and E-intermediate labels to tag issues that are good candidates for new contributors.
Distribution | Status |
---|---|
CentOS 7 | |
Debian Jessie | |
Ubuntu 14.04 LTS | |
Ubuntu 16.04 LTS | |
Ubuntu 16.10 | |
Ubuntu 17.04 | |
Fedora 24 | |
Fedora 25 | |
Fedora 26 |