※ 本記事は、Michael BreyTim Goh による“New Feature Announcement: On-Demand Capacity”を 翻訳したものです。

2022 年 3月 4日


Oracle NoSQL Database Cloud Serviceにおいて、従来のプロビジョニング容量価格モデルに加え、オンデマンド容量価格モデルの一般提供を開始することをお知らせします。

両モデルを利用することで、企業は、ビジネスとアプリケーションのワークロードの要件に合わせて、最もコスト効率の高い導入を柔軟に選択することができます。このような柔軟性により、企業は顧客に喜ばれるアプリケーションの革新にのみ集中することができ、運用コストを「心配することなく」意思決定できるようになります。さらに、どちらのモデルもAWS DynamoDBが提供するサービスと比較して、大幅なコスト削減を実現します。

Oracle NoSQL Database Cloud Serviceは、サーバーレスで完全に管理されたデータ・ストアであり、予測可能な1桁台のミリ秒単位の応答時間を実現し、データ・レプリケーションによる高可用性を提供します。開発者は、基盤となるインフラストラクチャ、運用、保守を管理することなく、ドキュメント・モデル、固定スキーマ・モデル、およびキーバリュー・モデルを使用したアプリケーションの構築に集中することができます。

オンデマンド容量 

Oracle NoSQL Database Cloud Serviceは、動的なワークロードのニーズに対応するため、読み取りと書き込みの容量を自動的に管理します。お客様は、各テーブルの読み取りまたは書き込み容量をプロビジョニングする必要はありません。 お客様は、消費された読み取り単位と書き込み単位に対してのみ料金を支払います。お客様は、テーブルごとにオンデマンドまたはプロビジョニングベースの容量割り当てを選択することができます。

利点

  • ワークロードのモデルを構築し、読み取りと書き込みの単位消費に応じたアプリケーションのサイズを設定する必要がありません。
  • ピークと谷が予測できない動的なワークロードに最適です。
  • 新規に作成されたNoSQL表のワークロードを監視し、どのアロケーション・モデルがより効果的かを決定する前に学習するのに最適な方法です。
  • 読み取りと書き込みの容量使用メトリクスの監視から解放されます。
  • ワークロードのキャラクタリゼーションは必要ありません。
  • 読み取りおよび書き込み単位のピーク消費量を予測するための高度なトラフィック予測アルゴリズムの構築は必要ありません。
  • 課金は1ヶ月の消費量に応じた読み取り/書き込み単位となります。
  • 一度設定すれば、容量管理はOracleに任せます。

メトリクス

  • 書き込み単位/月: 1ヶ月間に1秒間に最大1キロバイト(KB)のデータを書き込むスループットと定義され、約2600万回の書き込みが可能です。各月は744時間であるとみなされます。
  • 読み取り単位/月: 1ヶ月間の最終的に一貫性のある読み取り操作(すなわち、返されたデータがデータベースに書き込まれた直近のデータでない場合がある)において、1秒間に最大1キロバイト(KB)のデータ、または約260万回の読み取りのスループットと定義されています。 各月は744時間であるとみなされます。絶対一貫読み込み操作(すなわち、返されるデータがデータベースへの直近の書き込みデータである場合)において、1秒あたり最大1キロバイト(KB)のデータのスループットを達成するためには、1カ月あたり2台の読み込み単位に相当するものを準備する必要があります。

オンデマンド容量表の作成

オンデマンド容量構成でNoSQL表を作成する場合、以下の方法があります。

  • Oracle NoSQL Database APIは、Java、Python、Node.js、C#、Spring、およびGo SDKで利用可能です。
  • Oracle Cloud Infrastructure (OCI) NoSQLクラウド・サービス・コンソール
  • Oracle Cloud Infrastructure CLI
  • REST APIをベースにしたOracle Cloud Infrastructure SDK
  • Terraform

メソッド I: Oracle NoSQL Database SDK API

Oracle NoSQL Databaseは、いくつかの異なる言語SDKを配布および管理しています。それぞれ、言語のSDKによって若干異なりますが、オンデマンドの容量表を作成する方法があります。一般的には、暗黙的または明示的に、読み取り容量と書き込み容量が「0」に設定されます。NoSQL SDKはこちらでご覧になれます。

以下は、オンデマンド容量設定の表を作成するためのPythonコード・スニペットです。TableLimits API に「TableLimits.CAPACITY_MODE.ON_DEMAND」を追加しています。リードとライトの容量は「0」に設定されます。ストレージ容量は、アプリケーションが必要とするストレージ容量、例えば10GBに設定します。同じコード・スニペットを他のSDKに適用することができます。

次のスニペット・コードは、Oracle NoSQL Database Node.js SDK を使用して、オンデマンド容量構成の表を作成するものです。

メソッド II: Oracle NoSQL Database OCI コンソール

オンデマンド容量を持つ表の作成は簡単です。OCIアカウントにサイン・インし、サービスの左パネルで、Databases → Oracle NoSQL Database Tablesを選択します。

NoSQL表一覧コンソールで「Create table」をクリックします。

容量モードの項目で「On Demand Capacity」を選択します。Read capacityとWrite capacityの欄は、「On Demand Capacity」が初期設定となります。ディスク・ストレージ量をプロビジョニングします。テーブル名、カラム名/データ型、主キーを続けて入力し、「Create table」をクリックします。

表の作成が完了したら、一覧から新しい表を探してください。オンデマンド表には、「On Demand Capacity」と表示されたRead capacityとWrite capacityのカラムがあります。

新しい表をクリックすると、表の詳細コンソールで、readとwriteのcapacityセクションに「On Demand Capacity」と表示されます。

オンデマンド容量モードを使用するために既存のテーブルを変更

また、容量モードをProvisioned CapacityからOn Demand Capacityに、またはその逆に変更することができます。

オンデマンド容量構成でNoSQL表を変更する場合、以下の方法があります。

  • Java、Python、Node.js、C#、Spring、そしてGoの各SDKでOracle NoSQL Database APIを利用可能です。
  • Oracle Cloud Infrastructure (OCI) NoSQLクラウド・サービス・コンソール
  • Oracle Cloud Infrastructure CLI
  • REST APIベースのOracle Cloud Infrastructure SDK
  • Terraform

メソッド I: Oracle NoSQL Database SDK API

Oracle NoSQL Databaseは、いくつかの異なる言語SDKを配布および管理しています。それぞれ、既存の表をオンデマンド容量の表に変更する方法があり、言語によって若干の違いがあります。

次のスニペット・コードは、Oracle NoSQL Database Java SDKを使用して、表を変更し、新しいオンデマンド容量構成を使用します。

このJavaコードでは、現在の情報を取得することができます。

メソッド II: Oracle NoSQL Database OCIコンソール

表をオンデマンド容量に変更するのは簡単です。OCIアカウントにサイン・インし、サービスの左パネルで、Databases → Oracle NoSQL Database Tablesを選択します。

NoSQLの表一覧コンソールで「Edit reserved capacity」をクリックします。

Provisioned Capacityから

On Demand Capacityへの変更

そして変更を保存します。

表のエディションが完了したら、変更されたモードを一覧で確認してください。オンデマンド表には、”On Demand Capacity”と表示されたRead capacityとWrite capacityのカラムがあります。