We often get requests from our users and customers on how they can get started with using Oracle NoSQL Database on-premises. I am starting this series of blogs where we look into the various options for deployment that are available with the Oracle NoSQL Database. In this first edition, we’ll look at the simplest and the easiest option to start with NoSQL Database called KVlite.
KVLite
Are you looking to be productive with Oracle NoSQL Database in less than 5 mins? Are you looking to try the NoSQL Database APIs and quickly test your application business logic without setting up a flow-blown database server? Are you looking to evaluate Oracle NoSQL DB with a small dataset without allocating resources that a production server requires? If the answer to any of the above questions is yes, then you need KVlite.
KVLite is a simplified, lightweight version of the Oracle NoSQL Database. It provides a single-node store that is not replicated. It runs in a single process without requiring any administrative interface. Users can configure, start, and stop KVLite using a command-line interface.

KVlite
KVLite is intended for use by application developers who need to unit test their Oracle NoSQL Database application. It is not intended for production deployment or performance measurements. KVLite is installed when you install Oracle NoSQL Database. It is available in the kvstore.jar file in the lib directory of your Oracle NoSQL Database distribution. KVLite can be run within a docker container or on a VM or on bare metal machines. At the time of writing the blog, the current version of NoSQL DB is 19.3 and following are the prerequisite for running KVLite :
- Java 8 or greater
- Minimum of 5GB disk space. KVLite
Starting KVLite
You start KVLite by using the kvlite utility, which can be found in KVHOME/lib/kvstore.jar. If you use this utility without any command line options, then KVLite will run with the following default values:
- The store name is kvstore.
- The hostname is the local machine.
- The registry port is 5000.
- The directory where Oracle NoSQL Database data is placed (known as KVROOT) is./kvroot.
- The administration process is turned on using port 5001.
Let’s dive in. Open any terminal and type the following command:
$ java -Xmx64m -Xms64m -jar lib/kvstore.jar kvlite
Expected Output:
Generated password for user admin: password
User login file: ./kvroot/security/user.security
Created new kvlite store with args:
-root ./kvroot -store kvstore -host localhost -port 5000 -secure-config enable
In a second shell, ping the KVLite instance to verify that KVLite got started
$ java -Xmx64m -Xms64m -jar lib/kvstore.jar ping -host localhost -port 5000 -security kvroot/security/user.security
Expected output:
Pinging components of store kvstore based upon topology sequence #14
10 partitions and 1 storage nodes
Time: 2017-05-02 09:34:43 UTC Version: 12.2.4.4.6
Shard Status: healthy:1 writable-degraded:0 read-only:0 offline:0
Admin Status: healthy
Zone [name=KVLite id=zn1 type=PRIMARY allowArbiters=false] RN Status: online:1 offline:0
Storage Node [sn1] on localhost:5000 Zone: [name=KVLite id=zn1 type=PRIMARY allowArbiters=false]
Status: RUNNING Ver: 12cR2.4.4.6 2017-04-13 06:54:25 UTC Build id: d6a9b947763f
Admin [admin1] Status: RUNNING,MASTER
Rep Node [rg1-rn1] Status: RUNNING,MASTER sequenceNumber:204 haPort:5006
The status indicates that the KVLite is up and running. Here we started KVLite in secured mode, if we want to start in unsecure mode execute the kvstore.jar file using the -enable-secure disable flag to disable security and start KVLite in unsecure mode.
That’s it you are done!