ヒストリのデータ保存について
お世話になっております。
タイトル通りヒストリのデータ保存についてご教授願えたらと存じます。
ここ10日間程ヒストリデータを蓄積していたのですが、現在のペースだとHDDの容量があっという間に尽きてしまう程の
増加量だったので、取得間隔を長くとヒストリの保存期間を短くしました。
ヒストリの期間を現在の取得されている期間分より短くすれば、期間より過ぎているデータは削除されるという認識だったのですが
特にHDDの使用量に変化がありませんでした。
ですので、アイテムからヒストリの削除を行ってみたのですが、やはり容量は減る事がありません。
上記削除作業はテンプレート→アイテム から行ったのですが、こちら一瞬で終る(時間がかかると書いてあるのに)で
ホスト→アイテム からでしか削除出来ないのでしょうか?
また、ホストのアイテム一覧からまとめてヒストリを削除するにも、ホスト数が多くて手間なので
最悪DBから直接削除も考えているのですが、historyテーブルを消せばいいのでしょうか?
TNK - 投稿数: 4742
ヒストリの保存期間を短くされたのであれば、1時間に1回実行され
るハウスキーピング処理でデータは削除されていると思います。
あと、GUIからの削除時に時間がかかると書いてあるのに一瞬で終
わるのは、サーバの性能が高いか、ヒストリの量が少なかったため
だと思われます。
また、データを消したからといって、データベースファイルのサイ
ズは減少しません。
利用されているDBMSやエンジンの選択を記載頂いていませんが、
MySQLでInnoDBなどを利用している場合は縮小されなかったと思い
ます。
HDDのディスクの空き容量をすぐにでも空けるには、一度データベ
ースをバックアップ後、データベースを削除して再作成して、バッ
クアップからリカバリをすることである程度は空けられるかもしれ
ません。
ご参考:
InnoDBのファイルサイズ管理
http://nippondanji.blogspot.jp/2009/01/innodb_16.html
PostgreSQLの場合は、VACUUM FULLを実行すれば不要な領域を開放
できたと思います。
kodai - 投稿数: 1341
上記のURLの通り、innodb_file_per_tableが指定されていないとファイルサイズは小さくなりません。
もしinnodb_file_per_tableがすでに設定されているようでしたら、alter tableを実行することでファイルサイズを小さくすることができたと思います。