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シミュレータのダウンロード
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 プロンプトで
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]フォルダに格納されています。
サンプルスクリプトを実行(試しに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
Author And Source
この問題について(Oracle NoSQL Database Cloudシミュレータ を使い PythonでNoSQLをさわってみる), 我々は、より多くの情報をここで見つけました https://qiita.com/kngsym2018/items/cffa52120e2616a40dbc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .