Server Instance
A server program running on a machine. This is a single node in the grid. Each server instance uses a unique endpoint. Each server instance has one an internal 'process' for each CPU. Each process will have many worker threads for processing requests. Each server instance will appear as one windows process in the task manager.
Cluster
A cluster is a group of server instances connected together into one virtual database server. A cluster must contain 2^n-1 server instances (ie. 1, 3, 7, 15, 31, ...). All of the server instances in the cluster will share the same database structures. There is currently no redundancy of data between the servers of a cluster.
Endpoint
An endpoint is a server host name or IP address and port. These are passed between servers and clients so that server instances in a cluster can be found. They are set when installing a new server.
It is in the format, for the default TCP connection backend:
<ip-number>:<port-number>
Examples
Why only n^2-1 Instances per Cluster?
ScimoreDB instances need to be able to organise themselves into a binary tree, in order to most efficiently execute queries. This is to keep communications between servers efficient. Any instance will only be dealing with three connections for any one connection.
Related