vagrant上にインストールしたAerospikeでycsbを実行してみる
さて、前回はWindows上のVagrantでAerospikeをインストールしてみたので、
takumats.hatenablog.com
今回は無理やりycsbの実行にチャレンジする。
github.com
従った手順は、公式サイトのこの記述。
Documentation | Aerospike
前回作った環境では、Javaが入ってなかったので、まずは以下に従ってjdkをダウンロード
qiita.com
その後、以下に従って、jdkをインストール
zero-config.com
すると、「java -version」が返ってくるようになりました。
mavenのインストールは以下を参考に。
qiita.com
で試行錯誤したらできるようになったのだが、つまづきポイント。
- namespaceとしてycsbが必要 (aerospike.confで対応 (namespaceやファイル名))
- 一度やると再実行でエラー (データが入っているため)
実行した感じ
[root@localhost YCSB]# bin/ycsb load aerospike -s -P workloads/workloada [WARN] Running against a source checkout. In order to get our runtime dependencies we'll have to invoke Maven. Depending on the state of your system, this may take ~30-45 seconds [DEBUG] Running 'mvn -pl com.yahoo.ycsb:aerospike-binding -am package -DskipTests dependency:build-classpath -DincludeScope=compile -Dmdep.outputFilterFile=true' /usr/java/jdk1.8.0_111/bin/java -cp /opt/YCSB/aerospike/conf:/opt/YCSB/aerospike/target/aerospike-binding-0.9.0-SNAPSHOT.jar:/opt/YCSB/core/target/core-0.9.0-SNAPSHOT.jar:/root/.m2/repository/com/aerospike/aerospike-client/3.1.2/aerospike-client-3.1.2.jar:/root/.m2/repository/org/hdrhistogram/HdrHistogram/2.1.4/HdrHistogram-2.1.4.jar:/root/.m2/repository/org/gnu/gnu-crypto/2.0.1/gnu-crypto-2.0.1.jar:/root/.m2/repository/org/codehaus/jackson/jackson-mapper-asl/1.9.4/jackson-mapper-asl-1.9.4.jar:/root/.m2/repository/org/luaj/luaj-jse/3.0/luaj-jse-3.0.jar:/root/.m2/repository/org/codehaus/jackson/jackson-core-asl/1.9.4/jackson-core-asl-1.9.4.jar:/root/.m2/repository/org/mindrot/jbcrypt/0.3m/jbcrypt-0.3m.jar com.yahoo.ycsb.Client -db com.yahoo.ycsb.db.AerospikeClient -s -P workloads/workloada -load YCSB Client 0.9.0-SNAPSHOT Command line: -db com.yahoo.ycsb.db.AerospikeClient -s -P workloads/workloada -load Loading workload... Starting test. DBWrapper: report latency for each error is false and specific error codes to track for latency are: [] 2016-11-22 18:50:08:459 0 sec: 0 operations; est completion in 0 seconds 2016-11-22 18:50:08:609 0 sec: 1000 operations; 4901.96 current ops/sec; [CLEANUP: Count=1, Max=253, Min=253, Avg=253, 90=253, 99=253, 99.9=253, 99.99=253] [INSERT: Count=1000, Max=24095, Min=31, Avg=109.41, 90=113, 99=566, 99.9=5871, 99.99=24095] [OVERALL], RunTime(ms), 209.0 [OVERALL], Throughput(ops/sec), 4784.688995215311 [CLEANUP], Operations, 1.0 [CLEANUP], AverageLatency(us), 253.0 [CLEANUP], MinLatency(us), 253.0 [CLEANUP], MaxLatency(us), 253.0 [CLEANUP], 95thPercentileLatency(us), 253.0 [CLEANUP], 99thPercentileLatency(us), 253.0 [INSERT], Operations, 1000.0 [INSERT], AverageLatency(us), 109.409 [INSERT], MinLatency(us), 31.0 [INSERT], MaxLatency(us), 24095.0 [INSERT], 95thPercentileLatency(us), 200.0 [INSERT], 99thPercentileLatency(us), 566.0 [INSERT], Return=OK, 1000 [root@localhost YCSB]#
一度実行してデータが追加された場合、Set内のデータを削除するにはこんな感じで実行する。
[root@localhost YCSB]# asinfo -v "set-config:context=namespace;id=ycsb;set=usertable;set-delete=true;"
「HWAUG & GPU-Accelerated VDI Community Meetup in 札幌」に参加(2016/11/21@札幌)
掲題のイベントに参加してきました。
h-watson.connpass.com
今回このイベントに参加した理由は2つ。
1つは札幌にあるIBMさんのオフィスで実施されるとのことで、勤務先と同じビルのため近かったこと。
もう1つは、前職で知り合いだった方が偶然登壇されることを知ったこと。
さて、勉強会の内容ですが・・・。
先頭は札幌のワトソンユーザー会でおなじみの佐藤さん。そういえば、ワトソン君のブログが更新されていないような・・・。
watson-sapporo.hatenablog.com
きっと、仕事が忙しいということで、プラスの解釈としましょう。
次の方、IBMのエバンジェリストの方、とのことですが、なかなか面白かったです。
LINEボットをワトソン使って作る話なのですが、人工知能というよりは、
ルールベースの会話ができるボットを簡単に作れるよ、とのこと。
そうなんです、結局ルールベースなんですよね。
このあたり、人工知能の幻想と現実にできること、について、少しだけわかった気がしました。
linecorp.com
その次の方はいろいろ紹介されるセッションでしたが、その中でも、nvidia-dockerというのが気になりました。
github.com
私はもともとWindowsユーザー/開発者のため、dockerについてよくわかってないです。
ちょっとdockerについては、もう少し勉強せねば・・・。
次はNVIDA GRID(VDI)の話。CUDAもリモートで使えるようになるとのこと。
事例はやはりCADとかをたくさん使う自動車関連など。これまではワークステーションをたくさん並べなければならなかったのが、
シンクライアントで作業できるようになったらしい。
www.nvidia.co.jp
コンシューマー向けに普及するかがカギだろうか。。。
GPGPUではほぼ姿が見えなくなったAMDも、この分野では頑張ろうとしている模様。
さて、前職で知り合いだった方。
普段は東京にいるようで、また札幌にも来るとのことでした。
今回は懇親会には行けませんでしたが、次回はぜひお酒でも飲みにいければ。
「Oracle Cloud Developers Meetup@北海道 - 機械学習でお客様が他にも買いそうな商品を予測しようじゃないか。 」に行ってきた。(2016/11/17@札幌)
前回も参加したのですが、Oracle主催のハンズオンに行ってきました。
oracleclouddevelopersh.doorkeeper.jp
前回の参加メモはこちら。
takumats.hatenablog.com
やはり実際に手を動かしてのハンズオンは楽しい♪
今回のチュートリアルの内容はこちら。資料を公開してくれているのも、後でできるのでうれしい。
qiita.com
ハンズオン時は以下のようなOracle Application Expressというのに接続できるようになっている。
ツールとして、Oracle SQL Developerというのを使います。
http://www.oracle.com/technetwork/jp/developer-tools/sql-developer/downloads/index.html
まぁ基本は言われた通りにポチポチやっていくだけなのですが、
このような手順でいろんなことができる、というのはとても新鮮。
たったい2時間だし、こまごまとした説明とか、進捗遅い人を待っているのをふまえると、実質30分くらいか。
以下、メモ。
データ分析は大きく以下の流れで作業する。
- 対象のテーブルの特定
- データを加工(data preparation):欠損値補完、テーブル結合、など
- 分析の手法を選択
テーブルの特定
バスケット分析で必要になる情報:Transaction ID、Item ID
まずは分析対象のテーブルを特定することが重要。
今回は二つのテーブルを選んだ。
データの加工
今回は結合(inner join)のみ。
分析手法を選ぶ
今回はアソシエーション。
この分析を選ぶところが、ノウハウがいるところ。
今回のようなフレームワークを使うとドラッグ&ドロップでいろいろできるが、やれることは限られる。
凝ったことをするには、やはり言語系の何かが必要だろう。
余談だが、分類、を使うと、どんなお客が買ってくれるか、みたいなことを分析できる。
そして実行すると
緑のポチがつく。
これを分析
- 確信度:その事象(先行情報→結果)が起こる確率
- サポート値:全体の母数に占める割合(サポート値が低いと信頼に足らないのでは?という情報)
- リフト値:1未満だと信用できない
そして、この結果をおすすめ商品を表示するところに記載してあげる。
おまけ
ちなみに、12月に以下のようなイベントをするそうです。
Oracle Cloud Day Sapporo 2016
http://www.oracle.com/goto/cloudday_sapporo2016
機械学習と統計分析の違いがいまいちよくわからなくなってきた・・・・。
tjo.hatenablog.com
ビジネスEXPO 2016に行ってきた(2016/11/11@札幌)
毎年開催されているビジネスEXPO(第30回ビジネスEXPO(北海道 技術・ビジネス交流会))というものに行ってきました。
www.business-expo.jp
事前にIT関連ばかりではない展示会だということは聞かされてはいたのですが、なかなか楽しめる展示会でした。
札幌ではない道内の会社さんとお話しできたり、大学関連のブースもあったり、普段あまり接点のないところと話をできたのはよかったと思います。
リクルートスーツに身を包んだ学生さんっぽい人たちも結構いましたね。
実際に弊社が展示を行った場合にどの程度効果があるのか、というところはわかりづらいところはありますが・・。
ただ、他の展示会のように参加者は登録制にして名刺でもぶら下げてもらう方が、出展する立場になってみるとありがたいのではないでしょうか?
いろいろとシステム的に面倒なのでしょうかね?参加者にも心理的抵抗が出てくるのでしょうか・・・?
IoT関連の展示もいくつかあって、どういった感じでデータ集めてるか、という視点で話を聞いてはみたものの、どこも、MySQL。まだ、パフォーマンスが困るほどは使い倒していないようでした。
いくつか話を聞いた中で、バスロケーションシステムの話が複数。
北海道のバスは冬に遅れるし待つのも寒いから需要があるのかも??
info.buskita.com
info.chi-navi.net
HBAソリューションフォーラム2016に行ってきた(2016/10/18@札幌)
少し前になりますが、HBAソリューションフォーラム2016に行ってきました。
会社の製品を扱っていただいている代理店さんが、弊社の製品を展示くださったというのもありご案内いただいたため、初めて参加しました。
そもそも、このフォーラム自体、今まで知らなかったのですが、HBAさんの取引先向けの展示会という位置づけのため、まぁ無理もないか・・。
HBAソリューションフォーラム2016 イベント概要 | 株式会社HBA
弊社自身は直接HBAさんとは取引はないのですが、多くの会社が参加され展示されていて、意外と楽しめる展示会でした。アンケートに答えたら、ノートまでいただきました。
こういう少しクローズドなイベント、確かによくあると思うのですが、せっかくいろんな会社さんが展示されているので、もう少しオープンな感じに集客してもよいのではないか、と思いました。まぁいろいろな戦略、目的の上で、だとは思いますが・・・。
Windows上のVagrantでAerospikeをインストールしてみる
KVSの一種であるAerospikeを試したくなったので、以下のページに従って入れてみた。
Aerospikeとは
AerospikeはNoSQLの仲間。数あるKVSの中でも高速性が売り。CassandraやRedisとよく比較されている。
www.aerospike.com
サイバーエージェントが大規模に導入したことが有名。
www.cyberagent.co.jp
AerospikeをWindows(Vagrant)に入れてみる
http://www.aerospike.com/docs/operations/install/vagrant/win
C:\HashiCorp\Vagrant\aerospike-vm>vagrant init aerospike/centos-6.5 A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant. C:\HashiCorp\Vagrant\aerospike-vm>vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Box 'aerospike/centos-6.5' could not be found. Attempting to find and install... default: Box Provider: virtualbox default: Box Version: >= 0 ==> default: Loading metadata for box 'aerospike/centos-6.5' default: URL: https://atlas.hashicorp.com/aerospike/centos-6.5 ==> default: Adding box 'aerospike/centos-6.5' (v3.10.0.3) for provider: virtualbox default: Downloading: https://atlas.hashicorp.com/aerospike/boxes/centos-6.5/versions/3.10.0.3/providers/virt ualbox.box default: Progress: 100% (Rate: 2797k/s, Estimated time remaining: --:--:--) ==> default: Successfully added box 'aerospike/centos-6.5' (v3.10.0.3) for 'virtualbox'! ==> default: Importing base box 'aerospike/centos-6.5'... ==> default: Matching MAC address for NAT networking... ==> default: Checking if box 'aerospike/centos-6.5' is up to date... ==> default: Setting the name of the VM: aerospike-vm_default_1478009422332_5745 ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat default: Adapter 2: hostonly ==> default: Forwarding ports... default: 3000 (guest) => 3000 (host) (adapter 1) default: 8081 (guest) => 8081 (host) (adapter 1) default: 22 (guest) => 2222 (host) (adapter 1) ==> default: Running 'pre-boot' VM customizations... ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... default: The guest additions on this VM do not match the installed version of default: VirtualBox! In most cases this is fine, but in rare cases it can default: prevent things such as shared folders from working properly. If you see default: shared folder errors, please make sure the guest additions within the default: virtual machine match the version of VirtualBox you have installed on default: your host and reload your VM. default: default: Guest Additions Version: 5.0.20 default: VirtualBox Version: 5.1 ==> default: Configuring and enabling network interfaces... ==> default: Mounting shared folders... default: /vagrant => C:/HashiCorp/Vagrant/aerospike-vm C:\HashiCorp\Vagrant\aerospike-vm>
すると、上記のように普通にインストールが実行され、aerospikeのserviceが動いているらしいことは確認できる。
Sapporo Tech Bar #3開催★(2016/11/26)
今月も開催予定のSapporo Tech Bar。
いつもと少し違う話題だったけど、予想以上に盛り上がりました。
www.db-tech-showcase.com
機械学習、ディープラーニングの話題が流行っているけど、こういうネタも面白い。
ちなみに、毎回の目玉、オリジナルカクテルは、開催当日が「青汁の日」だったらしく、青汁を使ったカクテルをご用意。
today.jpn.org
DBサーバーのストレージ、超進化中!!
前職などで仕事をしていたときは、サーバーでSSDを使うことってまずなかったのだけど、最近はSSDを使うのが普通になってきているようだ。信頼性、価格面でHDDと同等になってきているとのこと。そして圧倒的なパフォーマンス!
こんな参考記事を見つけました。
www.sbbit.jp
今回の話は、SSDの新しい接続規格としてのNVMeでの性能検証結果、そして・・・・、NVDIMMでの性能検証結果についても。
(ちなみにNVは、Non Volatile(不揮発性)のこと)
NVMeとはSSDをPCI Expressに接続するための規格のようなもの。サーバーに刺せる数には限りがありそうだが、大きな性能向上が期待できる。
www.publickey1.jp
注意点としては、間にRAIDコントローラーが入らないので、RAID的なことをやりたい場合、上位側(ソフト側)で考慮してやる必要があるらしい。
そしてNVDIMM。こちらはDIMMスロットにSSDみたいなのを使えるようにしてしまう!実現方法はいくつかある模様。
pc.watch.impress.co.jp
DRAM+バッテリー方式の場合には容量が小さいながらも、RAMディスク相当の性能が期待できるはず。
GTC Japan 2016参加レポート!
次は会社の若い人たちが東京で開催されたGTC Japanに参加してきたのでその模様をレポート。
www.gputechconf.jp
私は何回かSAN JOSEのGTCに参加したことがあるのですが、そのころのGTCはちょうどHPCで使われ始めのころで、GPU Computing専用のTESLAが出てきたところでした。東工大のTSUBAMEがTop 500にランクインしたころです。思えばこの時期がGPU Computingが盛り上がり始めたころでしょうか。
TSUBAME2システム構成 | TSUBAME計算サービス
久々にtop500のページを見てみる。
June 2016 | TOP500 Supercomputer Sites
と、NVIDIAも上位にいるけど、Crayが結構たくさん。キーワードはインターコネクトでしょうか。
www.computerworld.com
そして最近のGPU Computingはなんといってもディープラーニング押し!
www.nvidia.co.jp
ディープラーニングは計算量が必要なためGoogleとかだとチップを作っちゃったりするのですが、みんながチップを作るわけにもいかないので、GPUで高速化、というところが期待されている。
実際にCUDAでプログラミングをするのは結構大変なんだけど、NVIDIA提供のライブラリを使うなら、そんなに苦労することなくできるのかな??
このあたりはとても面白い話なのだけど機会があればまた調べたい。