賢いログ管理で、SQL Serverのパフォーマンスを改善:ログとイベントデータはアプリDBと分離せよ
大規模なアプリケーションを支えるデータベースは、ログやイベントデータが多くのトラフィックを占める。こうしたデータ量増大にも耐えられるデータベースを構築するにはどのような仕組みが最適か。
Webサイトやアプリケーションのバックエンドデータベースが大規模になり、使用率が上がったら、膨大なトラフィックでアプリケーションが使用不能になるかもしれない。アプリケーションアーキテクトと開発者は、そうなる前に、データベースのスケーリング方法を迅速に見いだす必要がある。
アプリケーションが使用不能になることを防ぐ最良の方法の1つは、最初から大規模化を想定し、全てを単一のデータベースに保存しないようにすることだ。データを複数の論理的なグループに分類し、機能別に分離したデータベースにそれらを保存することで、将来の拡張がより容易に行えるようになる。
適切に設計されたアプリケーションは、エラーを処理し、ユーザーにエラーを表示するだけでなく、エラーログをデータベースに記録することもできるはずだ。また、現在では多くのWebサイトが、訪問者がどのようにWebサイトを使うか(何をクリックするかなど)を追跡している。このため、アプリケーションがデータベースに保存しなければならないイベントがたくさんある。
これらのことから、大規模で使用率の高いアプリケーションでは、データベースに何百万行ものデータがどんどん蓄積されていく可能性がある。
ビジネス用のアプリケーションは、こうしたイベントデータやログデータをアプリケーションの稼働を支えるデータベースに保存していることが多く、データベースの大規模化の大きな要因となっている。こうしたデータの保存は、データベースをホストしメンテナンスするために必要なコストを増大させてしまう。
ログデータやイベントデータと、データベースアプリケーションで使われるデータとを分離すれば、以下のようなメリットが得られる。
Copyright © ITmedia, Inc. All Rights Reserved.