FC2ブログ

log を管理するDB設計について

DBに格納した log はいずれ削除することになる

ログを削除するときには
指定の時間より古いというような条件を指定して実行する

見かけはDELETE コマンドの実行
しかし
実際の処理は削除対象データを検索してから削除

こういった行単位の削除では検索処理をするので
削除対象が大量になるログで実行するとすさまじい時間になってしまう

また、ログ管理サーバーでは

新しいログデータ投入という、挿入処理

古いログデータ削除という、削除処理

これを繰り返すためデータの断片化が起こりやすく
検索性能が徐々に低下していく
これは windows をつかったことがあるとよく行う
デフラグしないと遅くなるというもの

このため、ログの格納の問題を解決するために
つかわれるのが
テーブルパーティショニング

日付情報をもちいた
レンジパーティショニングを施せば
削除単位がテーブルの一部
から
テーブルそのものになる

こうなれば
DROP コマンドや TRUNCATE コマンドが使えるので
ほぼ一瞬で処理可能

それに、テーブル単位のほうがアーカイブもしやすい
ちなみに、
DROP TRUCNCATE コマンドは
SQLなので、
SQLコマンド で検索するといろいろでてくる

今回は
PostgreSQLのコマンド
http://www.postgresql.jp/document/8.1/html/sql-commands.html
にコマンドが載っていました
スポンサーサイト



テーマ : Linux
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック