2012年9月2日日曜日

カラム指向DB比較 - InfiniDB パフォーマンス検証の巻。


カラム指向DB比較 - MonetDB インストールの巻。
カラム指向DB比較 - MonetDB パフォーマンス検証の巻。 
カラム指向DB比較 - InfiniDB インストールの巻。
カラム指向DB比較 - InfiniDB(番外編) - はまりポイント挙げるの巻。
の続き。

Infinidb をインストールしたので MonetDB の時と同じクエリでパフォーマンスを検証してみる。

  1. 検証用DB作成
  2. 検証データ投入
  3. クエリによるパフォーマンス

実施環境

  • CloudCore
  • OS: Ubuntu 12.04
  • CPU: AMD Phenom(tm) 9550 Quad-Core Processor 2.2GHz
  • Memory: 2G

2012年8月30日木曜日

カラム指向DB比較 - InfiniDB(番外編) - はまりポイント挙げるの巻。

前回までの続きっぽい番外編。
カラム指向DB比較 - MonetDB インストールの巻。
カラム指向DB比較 - MonetDB パフォーマンス検証の巻。
カラム指向DB比較 - InfiniDB インストールの巻。

前回 InfiniDB のインストールを行ったが、その時ハマった事や後から分かった Community Edition の制約について今回下記3点を挙げておこうと思う。

  1. Select+Insert 不可
  2. cpimport で管理者権限が必要
  3. 副問い合わせで関数を使用するとコネクション切断

2012年8月21日火曜日

カラム指向DB比較 - InfiniDB インストールの巻。

カラム指向DB比較 - MonetDB インストールの巻。
カラム指向DB比較 - MonetDB パフォーマンス検証の巻。
のつづき。

今回は InfiniDB の環境構築を実施してみたいと思うよ。
  1. インストール
  2. 起動および準備
  3. おためし

実施環境
  • CloudCore
  • OS: Ubuntu 12.04
  • CPU: AMD Phenom(tm) 9550 Quad-Core Processor 2.2GHz
  • Momory: 2G 

2012年8月5日日曜日

カラム指向DB比較 - MonetDB パフォーマンス検証の巻。

の続き。

今回は MonetDB のパフォーマンス検証をしてみたいと思う。
  1. 検証用DB作成
  2. 検証データ投入
  3. クエリによるパフォーマンス検証
という流れで実施。

実施環境
  • CloudCore 
  • OS: Ubuntu 12.04
  • CPU: AMD Phenom(tm) 9550 Quad-Core Processor 2.2GHz
  • Momory: 2G

2012年7月7日土曜日

カラム指向DB比較 - MonetDB インストールの巻。

久しぶりに記事を書くけど解析の話ではない。解析用DWH構築の選択肢としてのカラム指向DBについてしばらく試行錯誤してみたい。かねがね解析用のDBとしてカラム指向を試してみたかったので頑張ってみる。

CloudCore のサーバ(Ubuntu12.04)を借りたのでそこでカラム指向DBの比較をしてみたいと思う。対象DBは下記を予定。
  1. MonetDB
  2. InfiniDB
  3. InfoBright
  4. GreenPlum
※予定は未定

今回は MonetDB の環境構築まで。

2012年4月10日火曜日

rmongodb 試してみた。

R から MongoDB へアクセスする為のモジュール rmongodb を試してみた。

試した環境は以下。

  • Mac OS X 10.7.3 lion
  • MongoDB 2.0.4
  • R 2.15.0
特に問題無くデータの登録・取得まで実施できてしまった。
至れり尽くせりでかなり楽。

2012年2月11日土曜日

RMeCab をインストールしてみた。

形態素解析ツール MeCab をR から使ってみようと思ったがインストールでハマったので備忘録。
R + MeCab + RMeCab を組み合わせるのだが上手くバージョンを合わせないと動かない。
間違うとこんな感じのエラーになる。
library(RMeCab)
RMeCabC("吾輩は猫である")

 *** caught segfault ***
address 0x0, cause 'unknown'
悲しくなるのでちゃんと動くように頑張ってみた。

動く事が検証出来た構成
OS: MacOSX(10.6)
R: 2.14.1
MeCab: 0.98 (*0.99ではダメだった)
RMeCab: 0.99

2012年2月4日土曜日

MongoDB で MapReduce 試してみた。

MongoDB で MapReduce を試してみる。
年齢のみを項目としてもつ age コレクションを作成し
  1. ヒストグラム
  2. 各種統計量(件数, 合計, 平均, 分散, 標準偏差)
を算出してみようと思う。
2. の統計量の算出では2段 MapReduce を試してみる。

参考:

MongoDB 環境構築(その3: ReplicaSet + Sharding)。

先日Tokyo.R第20回勉強会に参加してきた。
西新宿のNifty新社屋での開催で自宅から近かったのでちょっと見に行ったのだが思ったよりずっと面白くて今後も継続して参加する予定。外に出て人の話を聞くのは新鮮で気持ちが引き締まるし勉強のモチベーション向上に良いと思った。


今回は前回前々回の内容を合わせた ReplicaSet + Sharding 環境の構築を行う。
例のごとく複数台のサーバを用意する余裕(お金)は無いので1台のPCの複数ポートを用いる事で擬似的な分散サーバ環境を実現。


今回の目標: Sharding を行いつつ

  • mongod11 & mongod12 & arbiter13
  • mongod21 & mongod22 & arbiter23

という2組の ReplicaSet を構成。

2012年1月28日土曜日

MongoDB 環境構築(その2: Sharding)。

前回に続き今回は MongoDB の Sharding 環境を構築してみる。
Sharding 環境を構築する事でデータを効果的に分散させて保持し、パフォーマンスの向上を狙う。MongoDB の Sharding では分割用のキーを指定する事でデータが分散して登録される。今回は下記4つの項目を持つログを登録するが、その中で Sharding 用のキーとして {ym, account_id} の2項目を用いる事とする。

登録ドキュメント形式
id ID
uid ユーザID
ymd 年月
timestamp yyyy-mm-dd hh:mm:ss


今回の目標: 3ノードによる Sharding 環境を構築し、データを分散登録する。


2012年1月23日月曜日

MongoDB 環境構築(その1: Replica Set)。

今年明けてすぐに gmail アカウントが乗っ取られるという事態になり復旧するまで google アカウントに紐づいたサービスが全て使用不可となってしまった。
セキュリティは大事だと思った。復旧後すぐに二段階認証を導入しました。


MongoDB の環境構築をする必要に迫らてしばらく MongoDB の勉強をしてみたので記録を残す事にする。
とりあえず3回くらいに分けて下記の順序で環境構築を実施してみたいと思う。
  1. Replica Set
  2. Sharding
  3. Replica Set + Sharding
今回の目標: 3台構成の Replica Set 構築

MongoDB の Replica Set は2台以上のサーバで構成される master/slave の拡張(的な理解)である。Replica Set はフェイルオーバ機能を備えており、Primary サーバが停止した事が検知されると自動的に Secondary サーバが Primary へと昇格する事で障害時にもサービスを自動的に継続し続ける事が可能となる。

フェイルオーバ機能