コンパクト キャッシュ格納形式の詳細
コンパクト キャッシュ格納形式を使用すると、タイルを個々のファイルとして格納するのではなく、大きなファイルにグループ化することができます。タイルをグループ化して格納する利点は、以下のとおりです。
- ファイル数が減るため、キャッシュのコピーが容易になります。
- キャッシュのディスク上の合計サイズが小さくなります。
- タイル作成中のディスク I/O 回数が減るため、通常はタイルの作成速度が上がります。
- ネットワーク トラフィックが減るため、複数のコンピュータによる導入時に、タイル作成中のスケーラビリティが向上します。
コンパクト キャッシュの仕組み
コンパクト キャッシュでは、多数のタイルがバンドルと呼ばれる大きなファイルにグループ化されます。バンドルには最大 16,384 のタイルが含まれます。その結果、キャッシュ内のファイル数は数千または数百万ではなく、数十または数百になります。ディスクでコンパクト キャッシュの表示を確認すると、拡張子「*.bundle」の付いたバンドル ファイルがあるのがわかります。拡張子「*.bundlx」の付いた、対応するインデックス ファイルも表示されます。
キャッシュの作成中に、*.lock ファイルと *.done ファイルがキャッシュ フォルダに生成されます。*.lock ファイルは、現時点で作成中のバンドルを追跡するためにサーバが用いる手段です。*.lock ファイルが存在しないからといって、クライアントからバンドルをアクセスできないというわけではありません。同様に、バンドルが終了したことを知るためにサーバが用いる手段が、*.done ファイルです。キャッシュ ジョブが終了したら、*.lock ファイルと *.done ファイルをすべて削除する必要があります。
各レベルにバンドルを 1 つだけ含む、小さなキャッシュを作成することができます。一般的には、地理データの一部が交差するバンドル境界を作成し、1 つのレベルに複数のバンドルを格納します(地理データが小さいときには、バンドルには最大許容数である 16,000 ものタイルが含まれない場合があります)。大きなキャッシュには多数のバンドルが含まれます。
バンドルの境界はタイル スキーマ原点によって決定され、調整することはできません。たとえば、町内/通りレベルの縮尺である 1:4096 の場合、最大数のデータを含む 1 つのバンドルでは、米国東部にある中規模の郡を包含できます。
ArcGIS 10 では、指定したバンドルのタイルを生成する際に 1 つのサービス インスタンスでしか処理できませんでした。このため、小さなフィーチャの境界に基づいてキャッシュを作成する際に、CPU リソースが十分に活用されない場合がありました。バージョン 10.1 では、バンドルを操作する際のキャッシュ ジョブに対する CPU リソースの割り当てが強化され、キャッシュ ジョブを定義するフィーチャの地理的サイズは、CPU の使用率に影響を与えなくなりました。
コンパクト キャッシュの更新方法
コンパクト キャッシュのタイルを更新する場合、バンドル全体が再作成されることはありません。代わりに、4096 x 4096 ピクセル(アンチエイリアスを使用しない場合)または 2048 x 2048 ピクセル(アンチエイリアスを使用する場合)の小さなエリアが更新されます。ArcGIS のドキュメントでは、このエリアの単位をスーパータイルと呼ぶことがあります。
バンドルからのタイルの取得
Web API を含む ArcGIS クライアントは、コンパクト キャッシュ形式で作成されたバンドル ファイルを読み取ることができます。Web の場合、クライアントはタイルの特定のレベル、行、列の呼び出しをサーバに対して要求します。サーバはリクエストを受け取り、バンドルから適切なタイルを返します。
バンドルの内部アーキテクチャについては、Esri は公開用のドキュメントを用意していません。仮想ディレクトリからタイルを取得する独自のロジックをコーディングされた場合は、各タイルを単一のファイルとして格納する、ArcGIS Server バージョン 9.3.1 以前の唯一のオプションであったエクスプロード形式を引き続きお使いください。