Tuesday, June 26, 2012

Configure and deploy Oracle NoSQL

When you are starting to use the Oracle NoSQL key-value store solution you are not done by simply installing the Oracle NoSQL database. Installing the database is quite simple and straightforward. It is a matter of deploying the software, run a commandline configuration wizard and start the NoSQL deamon. The next step before you can start using the NoSQL implementation is to configure your KVStore. During deployment you have created (most likely) a number of hosts running a NoSQL deployment. One of them is the KV Administrator node which runs a management webinterface on port 5001 (by default). Your first step should be to connect to this admin console.  The console will take you into a couple of steps.

In the above image you can see the first screen when you open the administrator console. You have to state 2 things. The Store name is a name your key-value store and you can select a meaningful name. Second part is to enter the datacenter name, this is the name of your physical datacenter and can be used to identify the location of your key-value store. You could however abuse this field for other information, for example the name of the customer or department using the key-value store.

As soon as you have completed the above step you will be presented with a screen similar to the screenshot above. On the right side of the screen you can see 3 steps are already completed with the state SUCCEEDED, namely; DeployDatacenterPlan, DeploySNPlan and DeplayAdminPlan. 

Next is to deploy storage nodes. You will have to do this for every hosts you would like to deploy a storageNode on. Do note that on your admin node you already have a storage node deployed. You have to provide some needed information.

Plan Name: The name of your plan, when directly deployed you can go for the default name, in case you want to store in and use it at a later stage it would make sense to give it a meaningful name.

Datacenter: state the datacenter you want to deploy your StorageNode

Host: The network host name of the host you want to deploy your StorageNode on. This should be a host where you have deployed a Oracle NoSQL stack.

Registry Port: The port number where your KVstore is running on the target host.
Comment (optional): as stated, optional.

Now you have the option to use the Create Plan option which will store you plan for later execution or do a Create and Execute Plan which will directly deploy your StorageNode. When directly executed you will see in the right side of your screen the progress and (hopefully) a message for Plan-4 DeploySNPlan with status SUCCEEDED.

Next step is to deploy a store (Key-value store) on top of your storage node cluster so you can really start to use your Oracle NoSQL implementation. In the same screen as you used to deploy a StorageNode you can now select “Deploy a Store”which will deploy the store for you on all storage nodes or a sub-set of the storage nodes. Some details have to be provided:

Plan Name: The name of your plan, when directly deployed you can go for the default name, in case you want to store in and use it at a later stage it would make sense to give it a meaningful name.

Storage Node Pool: In this case we have selected AllStorageNodes to deploy them on all nodes available.

Replication Factor: The replication factor is something you have to think about before you quickly state a number (currently in the above screenshot you see 3, in our real-life example we use 2 as we only have 2 nodes). Replication factor states how many times a partition of data is stored in the cluster. When stated 3 it means that at 3 locations in your cluster a copy of a partition is stored.

The number of nodes belonging to a replication group is called its Replication Factor. The larger a group's Replication Factor, the faster its read performance (because there are more machines to service the read requests) but the slower its write performance (because there are more machines to which writes must be copied). You set the Replication Factor for the store, and then Oracle NoSQL Database makes sure the appropriate number of Replication Nodes are created for each replication group that your store contains.

Number of partitions: Also named shards, this indicates the number of partitions you will chop your data into. A high number of partitions is good however if you have to many partitions this can again have a negative effect on your performance. Based upon the read/write intensity you have to check what the best number is for your setup.

When given all the parameters you can select “create plan” or “Create and Execute plan”

When you have deployed your store it can be good to check your entire setup of your cluster with the topology browser. Here you can see how your configuration is done and how things are arranged. This topology screen can also be used during day-to-day administration to get a good view of the current status of your NoSQL deployments.

No comments: