
MySQL+インメモリ化しようか如何しようか?!
MySQLからデータを引き出すのに、インメモリ化しようか?どうしようか??ということで、Redisのセットアップを並行して行っております。
インメモリDBというと、SAPでは最近何かと話題であったHANAであり、MySQLと同じOracleの商用版ではCoherenceという各ソリューションがあります。勿論お高いですよ~w
あれ?Coherenceはひょっとして無料でダウンロードできる?
でもメモリのグリッド化がメインのソリューションだから、金融とかマイニングするにも大規模システムじゃないと意味を成さないかな(苦笑)
結局莫大なインフラ費用が掛かります。
因みにRedisはAWSもサービス展開されていますね。(ローカルは無料)
ともかくもインメモリ化の利点として、、
例えるならオッズや馬体重などの情報をメモリ内に一時保管して、、いつでも情報を更新できる、という事ですね。
(その際に電源落ちたら勿論終了ですw)
そして引き出す際にはテキスト化出来るので、ここでNoSQLのフィルタリングやETL(←ググってみて下さい)が出来るという感じです。
ランキングとか、その他諸々を即時的にデータ反映して取り込むという事も可能という事になりますが、ここはやり方考えないとなぁ。
勿論、即時性のないものはSQL文でランキングをSortする事も出来るでしょうけど、、SQLでは面倒なこともあります。
どうせならこう言ったものにチャレンジするのも良いかな?と思ってセットアップしました。
Redisセットアップ自体は簡単です。
環境変数はしっかり設定しないと動かないので注意ですが、、インメモリと言えど、そこまで高速化施さなくてもいいかな?なので私のローカル環境では、100MB制限でインストールしました。
尚、LatestバージョンなどはLinux系が進んでおりますが、残念ながら私の環境はWindowsなので、以下よりLatestのmsiパッケージをダウンロードしてインストールしました。
インストール後は、いつもの環境変数のPATH項目に、実行ファイルがインストールされている以下のディレクトリパスを記載してください。
C:\Program Files\Redis
Redis起動確認については、
コマンドプロンプトを起動し、、
C:\Users\user>redis-cli
127.0.0.1:6379> set sample sample
OK
127.0.0.1:6379> get sample
"sample"
と表記されれば、localhoost:6379ポートで起動できていることが確認できます。
抜けるときは、「quit」で。
またMySQLと同じくWindowsはサービスにて起動と終了が管理されているので、バッチファイル起動など手動で行いたい場合は別途ファイル作成をして下さいませ<(_ _)>
以上となります。