このブログを検索

2013/03/08

メインサーバーをMongodbで、の検討結果

アプリゲームのDBを完全にMongodbでやろうとして
使っている方に聞いて見た。

推薦ポイント
・MySQLのHA Proxyが構成出来ない時。
・Auto fail overを使いたい。
・初期設計・開発等テーブル定義がゆるい時のテスト用(他社実績有りとのこと)・ApacheのログやMySQLに格納したある期間のログデータを突っ込んでMapreduce等で解析を行いたい。
・データを突っ込んでから時差をおいてデータを読み込んで良い場合。


非推薦ポイント
・容量が食い過ぎ。
 すべての動作ログを残すというのもあるが70Gを用意してサービス開始3日で70%を超えたと。
・以前570Gを超えたところから動作が可笑しくなり700Gで制御不能になった。
・安易にSecondaryのHDDを増設したらPrimaryとのSyncで2日。
・今回のゲーム仕様に3回まで入力できるがあるが、TransactionがなくSyncの時差により4,5回まで入力できる事が普通にありえるとのこと(これは仕方ないかも)。
・ShardingがTuningがやはり難しく偏り過ぎて諦めた。


結果
3回までのもありMySQLがやはりやりやすいかと。
但し開発初期のときだけはMongoDBでやってみるのも有りかも。

2013/03/05

MongodbImportで_id指定方法による速度比較

_idをObjectIDにするのが容量が少し小さくなるのは分かった。

Import速度も「id」をObjectIDにした方が少し早い。
(個人の感想です。)

| Collection | StorageSize | Index Size | Objects | lastExtentSize|時間|
| t_u_xxxxx  | 118.18m | 8.67m | 279,767 | 35.88m |18秒|:_idをObjectIDにした
| t_u_xxxxx  | 118.18m | 9.72m | 279,767 | 35.88m | 21秒|: _idをIntにした

  • CSV Import Log(_idをObjectIDにした)
    Tue Feb 26 17:36:34         5724856/41384982    13%
    Tue Feb 26 17:36:34             38700    12900/second
    Tue Feb 26 17:36:37         11789661/41384982    28%
    Tue Feb 26 17:36:37             79700    13283/second
    Tue Feb 26 17:36:40         18608276/41384982    44%
    Tue Feb 26 17:36:40             125800    13977/second
    Tue Feb 26 17:36:43         22527263/41384982    54%
    Tue Feb 26 17:36:43             152300    12691/second
    Tue Feb 26 17:36:46         28148602/41384982    68%
    Tue Feb 26 17:36:46             190300    12686/second
    Tue Feb 26 17:36:49         34909096/41384982    84%
    Tue Feb 26 17:36:49             236000    13111/second
    Tue Feb 26 17:36:52         41360034/41384982    99%
    Tue Feb 26 17:36:52             279600    13314/second
    Tue Feb 26 17:36:52 imported 279767 objects

  • CSV Import Log( _idをIntにした)
    Tue Feb 26 17:57:11         5577216/41384979    13%
    Tue Feb 26 17:57:11             37700    12566/second
    Tue Feb 26 17:57:14         13105364/41384979    31%
    Tue Feb 26 17:57:14             88600    14766/second
    Tue Feb 26 17:57:17         16891567/41384979    40%
    Tue Feb 26 17:57:17             114200    12688/second
    Tue Feb 26 17:57:20         20338409/41384979    49%
    Tue Feb 26 17:57:20             137500    11458/second
    Tue Feb 26 17:57:23         23652004/41384979    57%
    Tue Feb 26 17:57:23             159900    10660/second
    Tue Feb 26 17:57:26         28414510/41384979    68%
    Tue Feb 26 17:57:26             192100    10672/second
    Tue Feb 26 17:57:29         32970858/41384979    79%
    Tue Feb 26 17:57:29             222900    10614/second
    Tue Feb 26 17:57:32         38888195/41384979    93%
    Tue Feb 26 17:57:32             262900    10954/second
    Tue Feb 26 17:57:32 imported 279767 objects