見出し画像

【PythonとRedis入門】なぜ現代はSQLではなくNoSQLなのか?

現代は早いデータベースが求められている

SQLとはRDB(リレーショナルデータベース)という、情報システムを扱う言語です。リレーショナルとは関連ということで、多様な処理が出来ますが、その分速度が遅くなります。

しかし現代はAIやビッグデータという、今までよりも巨大なデータがあり、これを処理するには従来よりも早いデータベースが必要となりました。

これが出来るのがSQLの多機能を省略した、NoSQLです。NoSQLで代表的なものはMongoDBで、これはドキュメント指向データベースと言われています。

なお昔はJAVAなどのOOP(オブジェクト指向)が流行しましたが、今はVM(仮想マシン)を使わないので速度が早い、Go言語の関数型プログラミングも注目されています。

政府や世界でもRedisに注目しているらしい

今の日本は超高齢化し高齢者が多くの財産を持っているのと、中国などを見ると、日本の国際的にも先端的な高齢医療に注目しているなどで、医療分野というのは拡大すると思います。

証拠は以下のような厚生労働省のPDF書類という印刷書類があります。

ビッグデータ Redis によるデータ管理 演習資料(厚労省の公式サイト)

https://www.mhlw.go.jp/content/11800000/000754338.pdf

厚生労働省というと医療関係のビックデータの管理を求めているのでしょうか?コロナ調査などだと、更にスパコンやAIなども、絡んでくるかもしれません。スパコンによると感染予防は、換気やエアコンらしいです。

ただし公的なコロナのアプリ使用が終了なようですが、民間のお薬手帳アプリなどのシステムは拡大していくと思います。派遣な求人広告でもチラホラ、医療開発案件が見受けられます。

Redisはメモリーに記憶なので更に早い

Redis(レディス)とはイン(たまにオンともいう)メモリーデーターストア(ストアは多く使われている用語)と呼ばれている、データベースです。他のデータベースはディスクにデータを保存するので、アクセス速度が遅くなります。

Redisではメモリーに保存するので、NoSQLの中でも更に早くなります。ディスクを利用する仮想メモリーの逆な感じです。しかしメモリーですので、再起動をすると保存したデータは消えてしまいます。しかし保存する方法もあります。

Redisをインストールする方法は簡単です

Redisの公式サイトにはWindowsのインストールバイナリーは無いらしいです。しかしマイクロソフトのGitHubサイトなら、インストーラーがあります。これを使いボタンを押し続けるだけで、インストールできるので簡単です。

インストールできたか?を確認するにはバージョンを表示するコマンド「redis-server --version」を、コマンドプロンプトで打ってみましょう。

C:\home\python>redis-server --version
Redis server v=3.0.504 ⋯

たぶん「Redis server v=3.0.504」が2022年9月現在の最新バージョンです。

ビックデータを扱うなら人気なPythonから学ぶ

Pythonとは初心者の人などが学びやすいと言われる、スクリプト言語です。動的型付け言語でもあり、動的とは自動的に文字型や整数型などのタイプを自動的に決めてくれます。静的もありこれは正確なので専門家が好みます。

Pyhonのインストールも簡単

Pythonの公式サイトでインストーラーをダウンロードだと、英語で分かりづらいので、非公式サイトでダウンロードしても良いです。

他にもPythonのフレームワークのDjangoなどもありますが、これは容量が3GBはあり、コンパイルするとかなり重たい実行書類.exeになったりします。ただしこれを使うような大規模システム開発をするならインストールした方が良いです。

容量の空きが無かったり、基礎的な勉強や、複数バージョンの共存などでしたら、少ない容量のインストーラーだけでインストールも良いです。特に古いバージョンでしか動かない、Pythonプログラミングのソースコードというのもあります。更にLinuxなどだとOSに付属されている場合もあります。

インストールしたらバージョンで確認、というのも省略で、Redisを操作する方法でインストールされたか確認しても良いです。

PythonのRedisクライアント「redis-py」をインストール

Pythonでも他の言語でもデータベースを操作するには、クライアント(ドライバーやプラグイン)という、使用言語のコンパイラー(機械語に翻訳するソフト)側などで動くWindows(のPHP redisだと)だとDLLなどが必要です。

インストールの方法はLinuxなどと同じで、以下のコマンドを1行だけ入力です。

pip3 install redis

pip3はpipでも問題は無さそうですが、新しい方が良いと思います。

pip(「Pip Installs Python」または「Pip Installs Packages」というPythonで書かれたパッケージをインストールや管理するシステム)が動作する時点で、Pythonは一応正常にインストールされています。

Pythonのソースコードを書いて実行する

以下のソースコードをテキスト書類「redis-set-get.py」にコピペします。

import redis

r = redis.Redis(
    host= 'localhost',
    port= '6379')

r.set('keyword1', 'dog')
r.set('keyword2', 'cat')
r.set('keyword3', 'mouse')
r.set('keyword4', 'bird')

print('飛べない動物を表示')

print( r.get('keyword1') )
print( r.get('keyword2') )
print( r.get('keyword3') )

1行目でredisを挿入し、localhostは自分のPC以外にRedisがあれば、そのアドレスを書き込みます。ポートはインストール時に6379以外を指定なら、それを指定します。

ポートは他にWebサーバーが使う80や8000などと昔から多くで使われていたポートもあるので、新しいデータベースなどになると、6379が標準ポートだったりします。

変数はプログラミングとデータベースの基本

変数とは変わっていく数量ですが、他に文字変数(文字列変数)というのもあります。例えば最も業務で使われるのは、データベースに顧客名や住所や商品名などを登録・削除などをします。

上記のソースコードでは、変数dog(犬)・cat(猫)・mouse(ネズミ)・brid(鳥)をセット(SQLだとINSERT文で登録?)し、飛べない動物だけをゲット(SQLだとSELECT文で選択?)し、print(表示)します。

これを実行するには、コマンドプロンプトで「python redis-set-get.py」というコマンドを入力します。拡張子の.pyはPythonの略で、他にコンパイル済みなので速度はインタプリタのpyよりは早い、pycやexe書類なども作れます。

以下のように表示されたらPythonもRedisも、初期の特にPythonはライブラリーなどが不足な状態ではありますが、正常にインストールされています。

C:\home\python>python redis-test.py
飛べない動物を表示
b'dog'
b'cat'
b'mouse'


ソースコードをダウンロードし勉強しよう

ソースコードはWebサイトなどで、無料で配布されています。ただし日本語訳されているものが、有名なPythonでさえ上記な状態です。しかしデータベースはプログラミングやビッグデータほどは難しくはありません。

無料公式サンプルなPython用のソースコードは以下です。多くのソースコード配布や開発できるGitHubの、Redisの公式なアカウントです。


ご閲覧ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?