...

  • invisible to tenants.

  • used to administer tenants and KV.

cockroach demo: a hybrid server

'cockroach demo'  is a tool built out of testing code, which is able to run a single server process containing a system cluster and, optionally when --multitenant=true, one additional non-system virtual cluster.

This is organized at run-time as follows, given --nodes=N:

  • N x KV instances

  • N x SQL instances for the system cluster.

  • Optionally, with --multitenant=true, N x additional SQL instances able to serve the one additional virtual cluster.

This gives a total of 2 or 3 times N instances able to run services, inside the same 'demo' process.

From the perspective of the users of 'cockroach demo', such a server process has two interfaces:

  • The SQL interface(s) to the non-system virtual cluster.

    • This is what is presented at the interactive prompt with --multitenant=true

  • The SQL interface(s) to the system cluster.

    • This is what is presented at the interactive prompt with --multitenant=false.

    • This could (hypothetically) be used to create additional virtual clusters inside the demo process.

There's currently some UX misdesign, in that the existence of two separate virtual clusters is not clear to the user of cockroach demo. We know about this shortcoming and it should get fixed at some point.

Logical concepts

The essence of the multi-tenant architecture is to introduce logical boundaries inside of a shared architecture  — for the purpose of separate billing, running client apps side-by-side, avoiding interference, etc. So we also need words to designate those things that have received logical boundaries.

...