New Feature Announcement: On-Demand Capacity

February 23, 2022 | 7 minute read
Michael Brey
Director of NoSQL Development
Tim Goh
Principal Product Manager
Text Size 100%:

We are thrilled to announce the general availability of the on-demand capacity pricing model in Oracle NoSQL Database Cloud Service, in addition to the existing provisioned capacity pricing model.  We are also announcing the general availability of dedicated hosted environments.

With the availability of both models, businesses have total flexibility when choosing the most cost-effective deployment to meet their business and application workload requirements. Such flexibility empowers businesses to solely focus on application innovations to delight their customers, making operational costs "worry-free" in their decision-making process. Furthermore, both models offer significant savings compared to AWS DynamoDB's offerings.

Oracle NoSQL Database Cloud Service is a serverless, fully managed data store that delivers predictable single-digit millisecond response times with data replication for high availability. Developers can focus on building applications using the document, fixed-schema, and key-value models, without managing the underlying infrastructure, operations, and maintenance.  Visit the Oracle NoSQL Database Cloud Service page for more information.

On-Demand Capacity  

Oracle NoSQL Database Cloud Service automatically manages the read and write capacities to meet the needs of dynamic workloads. Customers don't need to provision the read or write capacities for each table.  Customers only pay for the read and write units that are consumed. Customers can choose between on-demand or provisioned-based capacity allocation per table. 

Benefits

  • No need to build a model of your workload and size your application for read and write unit consumption
  • Great for dynamic workloads where peaks and troughs are unpredictable
  • Great for monitoring and learning about newly created NoSQL table workloads before deciding which allocation model works better
  • Free from monitoring the read and write capacities usage metrics
  • Workload characterization is not needed
  • No need to build sophisticated traffic forecasting algorithms to try and predict peak consumption of read and write units
  • Billing is based on the read/write units per month consumed
  • Set up once and leave the capacity management to Oracle

Metrics

  • Write Unit Per Month: is defined as the throughput of up to one kilobyte (KB) of data per second for a write operation over one month, or approximately two million six hundred thousand (2.6 million) writes. Each month is deemed to have seven hundred forty-four (744) hours.
  • Read Unit Per Month: is defined as the throughput of up to one kilobyte (KB) of data per second for an eventually consistent read operation (i.e., where the data returned may not be the most recently written data to the database) over one month, or approximately two million six hundred thousand (2.6 million) reads.  Each month is deemed to have seven hundred forty-four (744) hours. To achieve the throughput of up to one kilobyte (KB) of data per second for an absolute consistent read operation (i.e., where the data returned is the most recently written data to the database), the equivalent of two Read Units Per Month need to be provisioned.

Create an On-Demand Capacity Table

The following methods can be used to create a NoSQL table with the on-demand capacity configuration:

  • Oracle NoSQL Database APIs available in Java, Python, Node.js, C#, Spring and Go SDKs
  • Oracle Cloud Infrastructure (OCI) NoSQL cloud service console
  • Oracle Cloud Infrastructure CLI
  • Oracle Cloud Infrastructure SDKs built on the REST API
  • Terraform

Method I: Oracle NoSQL Database SDK API

Oracle NoSQL Database distributes and maintains several different language SDKs.   Each of those has a way to create an on-demand capacity table, which varies slightly from language to language.   In general, the read and write capacities are set to "0", either implicitly or explicitly.  The NoSQL SDKs can be found here:

Following is a Python code snippet to create a table with an on-demand capacity configuration. In the TableLimits API, "TableLimits.CAPACITY_MODE.ON_DEMAND" is added. The read and write capacities are set to "0".  The storage capacity is set to the amount of storage your application needs, e.g., 10 GB. The same code snippet can be adapted to the other SDKs.

The following snippet code is using the Oracle NoSQL Database Node.js SDK to create a table with an on-demand capacity configuration.

Method II: Oracle NoSQL Database OCI Console

Creating a table with on-demand capacity is simple. Sign in to your OCI account; in the services left panel, select Databases → Oracle NoSQL Database Tables.

Click Create table on the NoSQL table list console.

Select "On Demand Capacity" under the Capacity mode section. "On Demand Capacity" will be the default setting in the Read capacity and Write capacity fields. Provision the disk storage amount. Continue to provide table name, column names/data types, and primary key and click Create table.

Once the table creation is completed, please find the new table in the list. The on-demand table has Read capacity and Write capacity columns labeled as "On Demand Capacity."

Clicking on the new table, you will find the following in the Table Details console, the read and write capacity section shall be labeled with "On Demand Capacity."

Modify an existing table to use On-Demand Capacity mode

You can also modify the Capacity mode from Provisioned Capacity to On Demand Capacity and vice-versa.

The following methods can be used to modify a NoSQL table with the on-demand capacity configuration:

  • Oracle NoSQL Database APIs available in Java, Python, Node.js, C#, Spring, and Go SDKs
  • Oracle Cloud Infrastructure (OCI) NoSQL cloud service console
  • Oracle Cloud Infrastructure CLI
  • Oracle Cloud Infrastructure SDKs built on the REST API
  • Terraform

Method I: Oracle NoSQL Database SDK API

Oracle NoSQL Database distributes and maintains several different language SDKs.  Each of those has a way to modify an existing table to an on-demand capacity table, which varies slightly from language to language.

The following snippet code is using the Oracle NoSQL Database Java SDK to modify a table and use the new on-demand capacity configuration.

This java code allows you to retrieve the current information

Method II: Oracle NoSQL Database OCI Console

Modifying a table to on-demand capacity is simple. Sign in to your OCI account; in the services left panel, select Databases → Oracle NoSQL Database Tables.

Click Edit reserved capacity on the NoSQL table list console.

Change from Provisioned Capacity

to On Demand Capacity

and Save changes

Once the table edition is completed, please find the changed mode in the list. The On-demand table has Read capacity and Write capacity columns labeled as "On Demand Capacity."

Dedicated Hosted Environment

Oracle NoSQL Database Cloud Service offers the option for businesses to operate in a dedicated hosted environment for the most demanding application workloads. All underlying infrastructure and database management are dedicated to a single tenancy, and fully managed by Oracle. Customers pay a fixed monthly hosted environment cost and are entitled to use all the write, read, storage capacities offered by environment.  This is geared towards customers that would greatly exceed the throughput and storage limits published.

 

Michael Brey

Director of NoSQL Development

Tim Goh

Principal Product Manager

Oracle Product Manager



 


Previous Post

ESSS Rocky’s 200 million particle simulation on Oracle Cloud pushes DEM analysis to a new height

David Chen | 5 min read

Next Post


Three solutions for data analytics leaders

Niharika Kalra | 5 min read