NTFS 圧縮のススメ(まとめ)
Windowsでディスクの空き領域に不安がでてきたら、NTFS圧縮は一番最初に試す価値あり
NTFS 圧縮のススメ
Windowsを使用している場合、ファイルシステムは NTFS だと思う。
NTFS には、標準でNTFS圧縮と呼ばれているデータ圧縮機構が組み込まれている。
大体、半分ぐらいのサイズになる印象が個人的にはある。
これを活用すれば、ディスクの空き容量が少なくなったファイルサーバのファイルを緊急にZIP圧縮するよりも便利だと思う。
ZIPファイルにまとめるよりも、NTFS標準機能なので、非圧縮のファイルとまったく同様に扱う事が可能だ。
老婆心までに、圧縮ファイル(zipとかjpeg)とかにはあまり効果がないぞ。
例えば、ZIPフォルダは、ネットワークドライブでは有効に機能しないと思うが(Windowsのファイルサーバでは開いたので、有効に機能しなかったあのお客様の環境はWindows互換サーバだったのだろうか!?)、そういう点でも NTFS 圧縮は便利だ。
ただし、サイズ制限を行うクォータ機能では、圧縮前サイズで計算されるので、利用者としてクォータ機能が働いたのでNTFS圧縮でサイズ制限を回避する。ってわけにはいかない。
また、ファイルサーバ上のNTFS圧縮されたファイルを開くと、ファイルサーバ上で伸張されて、それがネットワークを流れて、やってくるのでネットワーク帯域は変化しない事にも注意が必要だろう。
個人的な印象では、フラグメントが通常より多く発生する印象なんだが、HDD から SSD が主流になりつつあるので、より重要なポイントではないかもしれない。
ついでに、圧縮された分だけファイルI/Oが低減するような気がするのだが、計測していないので、よくわからない。
最後に NTFS 暗号とNTFS圧縮は同一ファイル/フォルダに同時に設定できないので注意。
NTFS 圧縮の使い方。
ファイル/フォルダのプロパティで、圧縮を有効にするだけだ。
すると、既定では、こんな感じに青くなる。
ちなみに緑色だと、NTFS暗号されている。
既定では、色が付くようになっている
NTFS 圧縮と WinAPI
GetFileSize() 関数で、データサイズ(伸張後)が返る。
GetCompressedFileSize() 関数で、圧縮されたサイズが返る。
昔、COM ラッパを作ったので、ActiveScript 系統からでもアクセスできると思う。
NTFS 関連の API の COM ラッパ
NTFS 圧縮と MS-SQL Server
MS-SQL Server のデータファイルを NTFS 圧縮フォルダに入れてはいけないと昔どこかの雑誌の記事で読んだけど、失念した。
ので、この点は注意。