Cloud Concepts


Learn the Oracle NoSQL Database Cloud Service concepts.

Table: A Table is a collection of rows where each row holds a data record from your application.

Each table row consists of key and data fields which are defined when a table is created. In addition, a table has a specified storage, can support a defined maximum read and write throughput, and has a maximum size. The storage capacity is specified at table creation time and can be changed later.

High-Level Data Types: Oracle NoSQL Database Cloud Service supports all three types of Big Data. You can create NoSQL tables to store structured, unstructured, or semi-structured data.

Structured: This type of data can be organized and stored in tables with a predefined structure or schema. For example, the data stored in regular relational database tables come under this category. They adhere to a fixed schema and are simple to manage and analyze. Data generated from credit card transactions and e-commerce transactions are a few examples of structured data.

Semi-Structured: The data that can not fit into a relational database but can be organized into rows and columns after a certain level of processing is called semi-structured data. Oracle NoSQL Database Cloud Service can store and process semi-structured data by storing key-value pairs in NoSQL tables. XML data is an example of semi-structured data.

Unstructured: The data that can not be organized or stored in tables with a fixed schema or structure are called Unstructured data. Videos, images, and media are a few examples of unstructured data. Oracle NoSQL Database Cloud Service lets you define tables with rows of JSON data type to store unstructured data.

Data Types: A table is created using DDL (Data Definition Language) which defines the data types and primary keys used for the table.

Oracle NoSQL Database Cloud Service supports several data types, including several numeric types, string, binary, timestamp, maps, arrays, records, and a special JSON data type which can hold any valid JSON data. Applications can use unstructured tables where a row uses the JSON data type to store the data, or use structured tables where all row types are defined and enforced. See Supported Data Types to view the list of data types supported in Oracle NoSQL Database Cloud Service.

Unstructured tables are flexible. But typed data is safer from an enforcement and storage efficiency point of view. Table schema can be modified , but the table structure is less flexible to change.

Indexes: Applications can create an index on any data field which has a data type that permits indexing, including JSON data fields. JSON indexes are created using a path expression into the JSON data.

Capacity: When you create a table, you can choose between Provisioned Capacity and On-Demand Capacity.
By choosing Provisioned Capacity, you also specify throughput and storage resources available for the table. The read and write operations to the table are limited by the read and write throughput capacity that you define. The amount of space that the table can use is limited by the storage capacity.
By choosing On-Demand Capacity, the read and write operations to the table are automatically managed by Oracle. The amount of space that the table can use is limited by the storage capacity.

See Estimating Capacity to learn how to estimate capacity for your application workload.

Distribution and Sharding: Although not visible to the user, Oracle NoSQL Database Cloud Service tables are sharded and replicated for availability and performance. Therefore, you should consider this during schema design.

Primary and Shard keys: An important consideration for a table is the designation of the primary key, and the shard key. When you create a table in Oracle NoSQL Database Cloud Service, the data in the table is automatically sharded based on a portion of the table primary key, called the shard key. See Primary Keys and Shard Keys for considerations on how to designate the primary and shard keys.

Read Consistency: Read consistency specifies different levels of flexibility in terms of which copy of the data is used to fulfill a read operation. Oracle NoSQL Database Cloud Service provides two levels of consistency, EVENTUAL, and ABSOLUTE.

Applications can specify ABSOLUTE consistency, which guarantees that all read operations return the most recently written value for a designated key. Or, applications capable of tolerating inconsistent data can specify EVENTUAL consistency, allowing the database to return a value more quickly even if it is not up-to-date.

ABSOLUTE consistency results in a higher cost, consuming twice the number of read units for the same data relative to EVENTUAL consistency, and should only be used when required. Consistency can be set for a NoSQL handle, or as an optional argument for all read operations.

Identity Access and Management: Oracle NoSQL Database Cloud Service uses the Oracle Cloud Infrastructure Identity and Access Management to provide secure access to Oracle Cloud. Oracle Cloud Infrastructure Identity and Access Management enables you to create user accounts and give users permission to inspect, read, use, or manage Oracle NoSQL Database Cloud Service tables. See Overview of Oracle Cloud Infrastructure Identity and Access Management in Oracle Cloud Infrastructure Documentation.