Oracle NoSQL Database Cloudシミュレータ を使い PythonでNoSQLをさわってみる


本投稿の背景

Oracle Cloud にも NoSQL(Oracle NoSQL Database Cloud) があるのですが、
NoSQLの場合、Pythonで DDLや DMLはどうやって実行するのか?を調査したいと思ったのがきっかけです。

Oracle NoSQL Database Cloudシミュレータというのがあり、
ローカルPCで試すことができますので、Oracle NoSQL Database Cloudシミュレータを使用する手順とPythonでDDLやDMLをどうやって実行するのかをまとめました。

本投稿では
Windows10環境で Pythonから Oracle NoSQL Database Cloud シミュレータを触ってみる内容となります。

前提はWindows10環境にAnaconda-Python 3.7 versionがインストールしている状態からの手順です。

Oracle NoSQL Database Cloudシミュレータとは

Oracle NoSQL Database Cloudシミュレータでは、クラウド・サービスをシミュレートし、
Oracle NoSQL Database Cloud Serviceにアクセスせずにローカルでアプリケーションを記述およびテストできます。
Oracle NoSQL Database Java SDKには、開発者が使用するサンプルがいくつか含まれています。

Oracle NoSQL Database Cloud Serviceを使用して開始する前に、
Oracle NoSQL Database Cloud Simulatorでアプリケーションを開発し、基本的な例を理解できます。

⇒Oracle NoSQL Database Cloudシミュレータは、Oracle Cloud に接続せずに、ローカル環境(ノートPC)で、アプリ(Python、Java、Node.js、Go)を試せる環境が準備できます。

環境準備

環境準備は以下2つを準備します
1.Oracle NoSQL Database Cloudシミュレータのダウンロード
2.Oracle NoSQL Database Python SDK のインストール

前提はWindows10環境にAnaconda-Python 3.7 versionがインストールしている状態からの手順です。Anacondaのインストールは こちら から

1.Oracle NoSQL Database Cloudシミュレータのダウンロード

https://docs.cloud.oracle.com/ja-jp/iaas/nosql-database/doc/downloading-oracle-nosql-cloud-simulator.html#GUID-3E11C056-B144-4EEA-8224-37F4C3CB83F6 にアクセス

 
 
 

oracle-nosql-cloud-simulator-1.2.0.zip を任意のフォルダにダウンロードして解凍します。

Oracle NoSQL Database Cloudシミュレータを動かすための要件

・使用しているマシンにJava JDKバージョン10以上がインストールされていること。
・Oracle NoSQL Database Cloud Simulatorをインストールする5 GB以上の使用可能なディスク領域。

Java JDKバージョン10以上インストールされていない場合

※私の環境ではJava JDKが未インストールでしたので、新規インストール手順となります。例は新規インストールとなります。

https://www.oracle.com/java/technologies/javase-downloads.html
こちらの[ JDK Download ]をクリックして、Windows x64 Installer をダウンロード。

1.ダウンロードした jdk-14.0.1_windows-x64_bin.exe をダブルクリック。
2.以下手順でJava SDKをインストール
 
 
 

2.Oracle NoSQL Database Python SDK のインストール

Anaconda プロンプトを起動

Anaconda プロンプトで

pip install borneo

と入力して [Enter]

※Successfully installed borneo-5.2.0 が出ればOK

Oracle NoSQL Database Cloudシミュレータの起動

1.コマンドプロンプトを起動

コマンドプロンプトを起動される

2.環境変数(PATH)に Java JDK のパスをいれる
今回インストールしたJava JDKのパスは、C:\Program Files\Java\jdk-14.0.1\bin
set PATH=C:\Program Files\Java\jdk-14.0.1\bin;%PATH% で環境変数PATHにJava JDKのパスを設定

Java -version と入力して、Java JDKのバージョンを確認
⇒今回インストールした Java JDK 14になっていることを確認

コマンドプロンプトで
oracle-nosql-cloud-simulator-1.2.0を解凍したディレクトリに移動

cdコマンドで、oracle-nosql-cloud-simulator-1.2.0を解凍したディレクトリに移動

コマンドプロンプトで以下のコマンドを入力
※マニュアルでは Linux のコマンドしかない。実行ファイル「runCloudSim」 をメモ帳で開き中に書いてあるコマンドを確認。 必須パラメータ -root は 現在のディレクトリとするため . としています。

java -Djava.util.logging.config.file=logging.properties -jar cloudsim/lib/cloudsim.jar -root . 

「Oracle NoSQL Cloud Simulator is ready」で 起動されている状態になります

Oracle NoSQL Database Cloudシミュレータの停止方法

[Ctrl]+C で停止になります。

サンプルスクリプトを実行してみる

GitHubから pythonのサンプルスクリプト(nosql-python-sdk-5.2.0.zip)をダウンロードします。
 https://github.com/oracle/nosql-python-sdk/releases

nosql-python-sdk-5.2.0.zipを任意のフォルダに解凍します。
サンプルスクリプトは [examples]フォルダに格納されています。

Anaconda プロンプトを起動


サンプルスクリプトを実行(試しにsingle_data_ops.pyを実行)
サンプルスクリプトをドラッグして[Enter]キーを押下します。
※Oracle NoSQL Database Cloudシミュレータは起動しておく必要があります

single_data_ops.py の 実行結果
 ※single_data_ops.py の中で、各処理実行後、結果を表示しています。

single_data_ops.pyの中に
テーブル作成、データ登録、データ抽出、データ削除、テーブルDropの処理が記載されておりましたので、single_data_ops.pyを参考にして頂ければと思います。

また詳細は、Oracle NoSQL Database Python SDK(日本語)SQL Reference for Oracle NoSQL Database(SELECT Expression) も参考になりました。

multi_data_ops.py、table_ops.py もサンプルスクリプトとして実行することができます。

参考

・Oracle NoSQL Database Python SDK
  https://docs.oracle.com/cd/E83857_01/paas/nosql-cloud/sdk/index.html

・SQL Reference for Oracle NoSQL Database(SELECT Expression)
https://docs.oracle.com/en/database/other-databases/nosql-database/19.5/sqlreferencefornosql/select-expression.html

・NoSQLデータベース マニュアル
  https://docs.cloud.oracle.com/ja-jp/iaas/nosql-database/index.html

・NoSQLデータベース マニュアル (Oracle NoSQL Database Cloudシミュレータでの開発)
  https://docs.cloud.oracle.com/ja-jp/iaas/nosql-database/doc/developing-oracle-nosql-database-cloud-simulator.html