view counter

Oracle NoSQL Database in 5 Minutes

Thanks to Charles Lamb's Blog for this story

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.

view counter

Oracle NoSQL Database - A Quickstart In 5 Minutes


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.gz package (or unzip if you
    downloaded the .zip package). 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 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.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: 11gR2.1.2.116
            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
in kv-1.2.116/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
    quit
    
  • 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"
    

You can ask questions, or make comments on the Oracle NoSQL Database OTN forum.

Read the entire article at its source

view counter