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 row consists of key and data fields which are defined when a table is created. In addition, a table has a specified capacity, can support a defined maximum read and write throughput, and has a maximum size. The capacity is specified at table creation time and can be changed later.

    • Data Types:

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

      Oracle NoSQL Database Cloud Service supports several data types, including numeric types, string, binary, timestamp, maps, arrays, records, and a special JSON data type which can hold any valid JSON data. Applications can choose to 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.

      Unstructured tables are flexible to work with. But typed data is safer from an enforcement standpoint and storage efficiency. Though the schema of a table can be modified, the table structure cannot easily be changed.

      See Supported Data Types to view all data types supported in Oracle NoSQL Database Cloud Service.

    • 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:

      Applications specify the maximum read and write units permitted per table, and the maximum usable storage.

      A write unit is the throughput of up to 1 kilobyte (KB) of data per second used for a write operation. A read unit is the throughput of up to 1 KB of data per second used for an eventually consistent read operation. See Estimate Capacity to learn how to estimate capacity for your application workload.

  • Distribution and Sharding:

    Oracle NoSQL Database Cloud Service is a distributed key/value store. Tables are sharded and replicated for availability and performance.

    • Primary and Shard keys:

      An important consideration for a table is the designation of the primary key, and the optional 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 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 efficiently 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 and Roles:

    Oracle NoSQL Database Cloud Service uses Oracle Identity Cloud Service to provide secure access to Oracle Cloud. An identity domain within Identity Cloud Service controls the authentication and authorization of users in Oracle Cloud, and the features that they can access in relation to the service.

    Apart from this, Oracle NoSQL Database Cloud Service also defines certain application level roles for developers and administrators to authenticate their credentials against the tables created in the service. To learn about these roles, see About Oracle NoSQL Database Cloud Service Roles.