MySQLのデータベースログを常時解析してデータの更新を検知する手法を学びました。データベースのログといってもファイルなのですから工夫しない限り常時監視という手法はかなり高いI/Oコストや解析コストがかかると思います。
さらに実際のプロダクトではデータベースの吐き出すログは非常にデータサイズが大きいと思います。
ここで質問なのですが例えばマルチスレッディングのプログラムでいくつものスレッドでファイルを読み通り専門にして参照し、異なるファイルのインデックス地点(例えばログファイルのうち何行目か、など)を参照させてファイル解析のスループットをあげるといったことは可能なのでしょうか?
その手法では、データベースログの読み取り始める箇所をばらばらにしておいて(なんらかの並列処理で)一気に読み始めていち早くアップデートに関するログを解析する。。。といったものでしたがデータベースログの知識に乏しいため実際にどのように実装しているのか想像できませんでした。そもそも一つのファイルなのだから単一スレッドで読んでいくスピードが実質最速なのかなとも思いますので学んだ手法がどのようなことをいっているのかわかりません。。。。
どなたかアドバイスをよろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。