人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

mysql(innodbもしくはmyisam)でログデータ(最大1000件/秒)を処理したいのですが、load dataやbulkinsertなどを使っても1秒間に100件程度が限界です。ログデータのような大量の時系列データを処理する目的にmysqlがあっていないんでしょうか。


●質問者: webrecdotjp
●カテゴリ:コンピュータ インターネット
✍キーワード:innodb MyISAM MySQL データ ログ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● pahoo
●35ポイント

どのような処理をされているのか分からないのですが、一般論として、RDBMSが威力を発揮するのは、互いに関連のある正規化された複数のデータ群に対して検索・参照が多いような処理です。

ログファイルのように、単一方向(時間軸)かつ正規化されていない生のデータ群に対しては、ファイルをそのまま処理した方が効率が良いはずです。

また、単なる集計処理だけでない統計処理を目指すのであれば、SAPとまではいかないにしても、Rを使ってみてはいかがでしょうか。


2 ● b-wind
●35ポイント

合っていない。というかその目的には RDBMS を含む DBMS 全般が適していないと思う。

DBMS の基本はどちらかというと蓄積したデータの検索・集計、データの一貫性等に重きが置かれる。

それらの機能はログの蓄積時点では足かせにしかならない。


いったん text にログを落としておき、それをロードして集計に使うというのならわからなくも無い。

一応 MySQL 自体のパフォーマンスチューニングのほか、

INSERT DELAYED ...

構文もあるのでやろうと思えば出来なくも無いはずですが厳しいかな。

MySQL :: MySQL 4.1 リファレンスマニュアル :: 6.4.3.2 INSERT DELAYED 構文


3 ● ken33jp
●10ポイント

>(最大1000件/秒)

リアルタイムでは無理。

>1秒間に100件程度

この程度は可能ということで、分散処理を導入するしかない。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ