Trinity is a concept project for a relational database, designed from the ground up as a cloud system.
Trinity is pre-alpha - 'concept project'. Don't even think about using this even in development - yet. For how we're going, please see Progress.
git clone git@github.com:tomdionysus/trinity.git
cd trinity
go get
bin/make
build/trinity-server --ca cert/ca.pem --cert cert/localhost.pem --loglevel info
You can boot other nodes on different ports and have them connect to the cluster like so:
build/trinity-server --ca cert/ca.pem --cert cert/localhost.pem --loglevel info -port 13532 -node localhost:13531
build/trinity-server --ca cert/ca.pem --cert cert/localhost.pem --loglevel info -port 13533 -node localhost:13531
trinity-server --ca=<CA_PEM> --cert=<CERT_PEM> [other flags]
Flag | Default | Description |
---|---|---|
-help | Display command line flags help | |
-ca | Specify the Certificate Authority PEM file | |
-cert | Specify the Certificate PEM file | |
-loglevel | error | Set the logging level [debug,info,warn,error] |
-memcache | false | Enable the Memcache interface |
-memcacheport | 11211 | Set the port for memcache, default 11211 |
-node | Specify another Trinity node, i.e. ip_address:port | |
-hostaddr | The hostname and port to advertise to other nodes, i.e. ip_address:port | |
-disable-heartbeat | [DEV ONLY] Disable the heartbeat check so the server isn't disconnected from the network on hitting breakpoint |
Document | Description |
---|---|
Design Goals | Design Goals of the project, roadmaps, reference |
Progress | Project Progress |
Encryption | Encryption and security guide |
Consistency Modes | Consistency Modes in Trinity |
- github.com/tomdionysus/binarytree
- github.com/tomdionysus/bplustree
- github.com/tomdionysus/consistenthash
trinity is licensed under the Open Source MIT license. Please see the License File for more details.
The trinity project supports and enforces The Contributor Covenant. Please read the code of conduct before contributing.