Oracle NoSQL Database in 5 Minutes
By Charles Lamb on Dec 20, 2011
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.
Install Oracle NoSQL Database
- Download the tar.gz file from http://www.oracle.com/technetwork/database/nosqldb/downloads/index.html.
gunzip and untar the
.tar.gzpackage (or unzip if you downloaded the
.zippackage). Oracle NoSQL Database version 1.2.116 Community Edition is used in this example.
$ gunzip kv-ce-1.2.116.tar.gz $ tar xvf kv-ce-1.2.116.tar kv-1.2.116/ kv-1.2.116/bin/ kv-1.2.116/bin/kvctl kv-1.2.116/bin/run-kvlite.sh kv-1.2.116/doc/ ... kv-1.2.116/lib/servlet-api-2.5.jar kv-1.2.116/lib/kvclient-1.2.116.jar kv-1.2.116/lib/kvstore-1.2.116.jar kv-1.2.116/LICENSE.txt kv-1.2.116/README.txt $
Start up KVLiteKVLite 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.116 directory to start the NoSQL Database server.
$ cd kv-1.2.116 $ java -jar lib/kvstore-1.2.116.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.116 directory and ping your KV
Lite to test that it's alive.
$ cd kv-1.2.116 $ java -jar lib/kvstore-1.2.116.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: 11gR220.127.116.11 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.
$ javac -cp examples:lib/kvclient-1.2.116.jar examples/hello/HelloBigDataWorld.java $ java -cp examples:lib/kvclient-1.2.116.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
From there, the Getting Starting Guide
will introduce you to the NoSQL Database API. The Oracle NoSQL
Database Administrator's Guide
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
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 quit
You can access the Adminstrative Console at http://compute01:5001/ at
any time after the
plan-execute deploy-admincommand 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"
You can ask questions, or make comments on the Oracle NoSQL Database OTN forum.