Oracle NoSQL

This is an enterprise feature.
<dependency>
	<groupId>one.microstream</groupId>
	<artifactId>microstream-enterprise-afs-oracle-nosql</artifactId>
	<version>06.01.00-MS-GA</version>
</dependency>
KVStore kvstore = KVStoreFactory.getStore(
	new KVStoreConfig("kvstore", "kvlite:5000")
);
BlobStoreFileSystem fileSystem = BlobStoreFileSystem.New(
	OracleNoSqlConnector.Caching(kvstore)
);
EmbeddedStorage.start(fileSystem.ensureDirectoryPath("microstream_storage"));

Configuration

When using external configuration Oracle NoSQL can be set as follows.

microstream-storage.properties
storage-filesystem.oracle.nosql.store-name=kvstore
storage-filesystem.oracle.nosql.helper-hosts=kvlite:5000
storage-filesystem.oracle.nosql.username=user
storage-filesystem.oracle.nosql.password=secret
Property Description

store-name

The name of the KVStore. The store name is used toguard against accidental use of the wrong host or port. The store name must consist entirely of upper or lower-case, letters and digits.

helper-hosts

Comma separated list containing the host and port of an active node in the KVStore. Each string has the format hostname:port. It is good practice to pass multiple hosts so that if one host is down, the system will attempt to open the next one, and so on.

username

Username used for authentication.

password

Password used for authentication.

check-interval

Configures the default interval for checking on data definition operation progress.

consistency

Configures the default read Consistency to be used when a Consistency is not specified for a particular read operation. Supported values:

  • NONE_REQUIRED
    A consistency policy that lets a transaction on a replica using this policy proceed regardless of the state of the Replica relative to the Master.

  • ABSOLUTE
    A consistency policy that requires that a transaction be serviced on the Master so that consistency is absolute.

durability

Configures the default write Durability to be used when a Durability is not specified for a particular write operation. Supported values:

  • COMMIT_SYNC
    A convenience constant that defines a durability policy with COMMIT_SYNC for Master commit synchronization. The policies default to COMMIT_NO_SYNC for commits of replicated transactions that need acknowledgment and SIMPLE_MAJORITY for the acknowledgment policy.

  • COMMIT_NO_SYNC
    A convenience constant that defines a durability policy with COMMIT_NO_SYNC for Master commit synchronization. The policies default to COMMIT_NO_SYNC for commits of replicated transactions that need acknowledgment and SIMPLE_MAJORITY for the acknowledgment policy.

  • COMMIT_WRITE_NO_SYNC
    A convenience constant that defines a durability policy with COMMIT_WRITE_NO_SYNC for Master commit synchronization. The policies default to COMMIT_NO_SYNC for commits of replicated transactions that need acknowledgment and SIMPLE_MAJORITY for the acknowledgment policy.

lob-chunk-size

Configures the chunk size associated with the chunks used to store a LOB.

lob-chunks-per-partition

Configures the number of contiguous chunks that can be stored in the same partition for a given LOB.

lob-timeout

Configures default timeout value associated with chunk access during operations on LOBs.

lob-verification-bytes

Configures the number of trailing bytes of a partial LOB that must be verified against the user supplied LOB stream when resuming a putLOB operation. A value⇐0 disables verification.

max-check-retries

Set the number of times the client will attempt to check status for the execution of an asynchronous data definition or administrative statement execution in the face of network connection problems.

network-roundtrip-timeout

Configures the amount of time to allow for a single round-trip network communication with the server. This value is added to the request timeout to determine the total amount of time that the client should wait for a request to complete before timing out.

read-zones

Comma separated lists of zones in which nodes must be located to be used for read operations. If the argument is null, or this method has not been called, then read operations can be performed on nodes in any zone.

registry-open-timeout

Configures the connect/open timeout used when making RMI registry lookup requests.

registry-read-timeout

Configures the read timeout associated with sockets used to make RMI registry requests. Shorter timeouts result in more rapid failure detection and recovery. However, this timeout should be sufficiently long so as to allow for the longest timeout associated with a request.

request-timeout

Configures the default request timeout.

sg-attrs-cache-timeout

Sets the timeout of cached sequence generator attributes in milliseconds.

socket-open-timeout

Configures the open timeout used when establishing sockets used to make client requests. Shorter timeouts result in more rapid failure detection and recovery. The default open timeout (3000 milliseconds) should be adequate for most applications.

socket-read-timeout

Configures the read timeout associated with the underlying sockets used to make client requests. Shorter timeouts result in more rapid failure detection and recovery. However, this timeout should be sufficiently long so as to allow for the longest timeout associated with a request.

use-async

Specifies whether calls to the store should use the async network protocol.

security-properties

Configures security properties for the client. The supported properties include both authentication properties and transport properties. See oracle.kv.KVSecurityConstants for details.