Thursday, September 23, 2010

An introduction to Semantics.Datacenter clusters

Semantics.Datacenter is based on Intellidimension’s proprietary distributed graph store called IMDB. Semantics.Datacenter is deployed in a clustered configuration. A Semantics.Datacenter cluster is a set of network addressable services (“servers”) based on WCF that can be running one or more computers. A cluster must have one coordinator server and one or more worker servers. A cluster also requires a shared directory that is accessible by all servers in the cluster for both reading and writing files. If the cluster is deployed on multiple computers the shared directory must be on a networked storage device. The coordinator and worker nodes can be deployed to a single computer using a local file system directory.

image

The coordinator server manages all the activities for the cluster and is generally not used for application data storage or processing. The coordinator server manages the following:

  • The Job Queue
  • Server failover
  • Replication Coordination

The worker servers in the cluster are responsible for providing the bulk of the services for an application such as:

  • Hosting of Graphs
  • Execution of Tasks (a unit of work in a Job)

Deploying a cluster involves deciding on the hardware resources that you wish to use. This includes the physical computers as well as any network storage that will be required. Each server in the cluster will also require its own network address and the cluster coordinator network address must be reachable by all the worker servers in the cluster.

Step 1: Install Semantics.Datacenter
The first step is to install the product on each computer that will be used in the cluster.

Step 2: Install a Coordinator Server
Launch the IMDB Setup utility on the computer that will be hosting the coordinator server. From the main screen select the option to “Add a new server” followed by the option to install “A coordinator node in a new cluster”.  Follow the steps on the rest of the screens that will prompt you for a network address and the location of the shared directory for the cluster.

image

Step 3: Install the Worker Server(s)
For each worker server on each computer repeat Step 2 except on the second screen select the option to install “A worker node in an existing cluster”. In order to complete the installation you will be required to provide the network address of coordination server.

Next Steps
Now that the cluster is up and running you will need to configure it for your application. This configuration will vary significantly from application to application and often requires a large amount of testing and tuning to get right depending on the application. I will address several of these topics in future postings, including:

  • Graph Partitioning
  • Distributed Graphs
  • Data Replication
  • SQL Server Replication
  • Data Load Jobs

1 comments:

  1. Thanks Derrish. I look forward to more postings :)

    ReplyDelete