I would like to demonstrate more Cayley examples, so anything that you think I should add is welcome!
One part that I'll add later is the different options of deploying/setting up Cayley.
Here is what I have in my mind regarding that section:
First I should explain the difference between local and remote backends. I should mention that Cayley can fit 130 million quads on a 20GB harddrive.
Than explain that if there is a need for HA or very big storage (billions of quads) they should choose a backend that provide HA like PostgreSQL.
In that case they will need a load balancer in front of at least two hosts. in each of those hosts Cayley will be installed and connected to the PostgreSQL.
If there is no need for HA or big storage, a local backend like Bolt is a great option. Now they have two options to choose from:
1. Writing an HTTP service in Go and import Cayley as a Go package. The web service will hold any logic that the app needs (like auth etc).
2. Writing an HTTP service in any server-side language and on the same host installing Cayley and running it's HTTP server. A request will hit the HTTP service which will send it to Cayley on localhost.
In the 'local' approach, they will have to take care of a failure. one option is to setup a host with recent backup that is ready to be active in case the current host is not available from some reason.
In order to do that they'll have to look at the documentation of the backend (like Bolt) to understand how back the data to a remote server on a given interval.
Also, flow charts are easy to remember so I might use one to explain the above options.
I will also explain what 'single master replication' and multi-master election mean since I heard that they are in the pipeline for Cayley.
Please correct any of the above and suggest anything you think I should talk about.
Thanks!