Sunday, February 5, 2012

Database: Oracle NoSQL Database in 5 Minutes

Inspired by some other "Getting started in 5 minutes" guides, we now have a Quick Start Guide for Oracle NoSQL Database.  kvlite, the single process Oracle NoSQL Database, makes it incredibly easy to get up and running.  I have to say the standard disclaimer: kvlite is only meant for kicking the tires on the API.  It is not meant for any kind of performance evaluation or production use.

Oracle NoSQL Database - A Quickstart In 5 Minutes

Install Oracle NoSQL Database
·         Download the file from
·         Unzip the .zip package. Oracle NoSQL Database version 1.2.123 Enterprise Edition is used in this example.
·         after unzipping you should see the following folders:
Start up KVLite
KVLite is a single process version of Oracle NoSQL Database. KVLite is not tuned for performance, but does give you easy access to a simple Key/Value store so that you can test the API.
·         Cd into the kv-1.2.123 directory to start the NoSQL Database server.
C:\>cd kv-1.2.123
C:\kv-1.2.123\> java -jar lib/kvstore-1.2.123.jar kvlite
Created new kvlite store with args:
-root ./kvroot -store kvstore -host myhost -port 5000 -admin 5001
·         In a second shell, cd into the kv-1.2.123 directory and ping your KV Lite to test that it's alive.
 C:\>cd kv-1.2.123
C:\kv-1.2.123\> java -jar lib/kvstore-1.2.123.jar ping -port 5000 -host myhost
Pinging components of store kvstore based upon topology sequence #14
kvstore comprises 10 partitions and 1 Storage Nodes
Storage Node [sn1] on myhost:5000    Datacenter: KVLite [dc1]    Status: RUNNING   Ver: 11gR2.1.2.123
Rep Node [rg1-rn1]      Status: RUNNING,MASTER at sequence number: 31 haPort: 5011
·         Compile and run the Hello World example. This opens the Oracle NoSQL Database and writes a single record.
C:\kv-1.2.123>javac -cp examples;lib/kvclient-1.2.123.jar examples/hello/
C:\kv-1.2.123>java -cp examples;lib/kvclient-1.2.123.jar hello.HelloBigDataWorld
Hello Big Data World!
·         Peruse the Hello World example code and expand it to experiment more with the Oracle NoSQL Database API.
Learn more about Oracle NoSQL Database
Open the doc landing page (either locally in kv-1.2.123/doc/index.html or on OTN). From there, the Getting Starting Guide (HTML | PDF) and Javadoc will introduce you to the NoSQL Database API. The Oracle NoSQL Database Administrator's Guide (HTML | PDF) will help you understand how to plan and deploy a larger installation.
Remember, KVLite should only be used to become familiar with the NoSQL Database API. Any serious evaluation of the system should be done with a multi-process, multi-node configuration.
  • To install a standard, multi-node system, you need to repeat the instructions above on how to unpack the package on any nodes that do not yet have the software accessible. Then follow a few additional steps, described in the Admin Guide Installation chapter. Be sure to run ntp on each node in the system.
  • If you want to get started with a multi-node installation right away, here's a sample script for creating a 3 node configuration on a set of nodes named compute01, compute02, compute03. You can execute it using the NoSQL Database CLI.
configure "mystore"
plan -execute deploy-datacenter BurlDC Burlington
plan -execute deploy-sn 1 compute01 5000 Compute01StorageNode
plan -execute deploy-admin 1 5001
addpool mySNPool
joinpool mySNPool 1
plan -execute deploy-sn 1 compute02 5000 Compute02StorageNode
joinpool mySNPool 2
plan -execute deploy-sn 1 compute03 5000 Compute03StorageNode
joinpool mySNPool 3
plan -execute deploy-store mySNPool 3 100
show plans
show topology
·         You can access the Adminstrative Console at http://compute01:5001/ at any time after the plan-execute deploy-admin command to view the status of your store.
·         To evaluate performance, you will want to be sure to set JVM and cache size parameters to values appropriate for your target hosts. See Planning Your Installation for information on how to determine those values. The following commands are sample parameters for target machines that have more than 32GB of memory. These commands would be invoked after the configure "mystore" command.
set policy "javaMiscParams=-server -d64 -XX:+UseCompressedOops -XX:+AlwaysPreTouch -Xms32000m -Xmx32000m -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/tmp/gc-kv.log"
set policy "cacheSize=22423814540"
For more information and feature about Oracle NoSQL Database please the following link "Oracle NoSQL Database is here!".


  1. I have followed the above steps and getting below error massage. Please help me to resolve that.

    C:\oracle\kv-ee-1.2.123\kv-1.2.123>java -cp example;lib/kvclient-1.2.123.jar hello.HelloBigDataWorld
    Error: Could not find or load main class hello.HelloBigDataWorld

    1. Did you compiled the class using javac.exe first?

  2. This line has a slight error:
    C:\kv-1.2.123>java -cp example;lib/kvclient-1.2.123.jar hello.HelloBigDataWorld

    should be "examples"

    C:\kv-1.2.123>java -cp examples;lib/kvclient-1.2.123.jar hello.HelloBigDataWorld

    Thanks Mohamed