Enhancements to Caching with ArcGIS Server 10
This morning I attended an Esri caching webinar where they discussed the new enhancements in ArcGIS Server 10. With 10, it is easier to copy your cache between machines, it takes less time to build a cache, you can mix file types, and merge tiles from different sources into a collaborative cache.
Compact vs Exploded Caches
AGS 10 offers a new "compact" cache storage format, as well as the original "exploded" format. The exploded format creates caches as you saw with previous versions, where your cache is comprised of 1000s of image tiles organized in folders. The new compact format groups a large number of files into a .bundle file. Each cache scale now consists of at least one .bundle & .bundlx file (the tiles are indexed by the bundlx file). Each bundle covers a specific map extent and can hold ~16000 tiles. This means that the number of files in your cache is hugely reduced, and you have a much smaller number of files to copy. An example in the webinar referred to an exploded cache of 3.8 million files which took 9 hours to copy, compared with the same map service using a compact cache which took only 8 minutes to copy.
Exploded caches can be converted to compact caches, and vice versa, using the Export Map Server Cache tool. You can also convert your 9.3.1 caches to compact caches. Esri recommends you use AGS 10 SP1 for cache conversion. The compact cache will build "several times faster" than an exploded cache. There should be a negligible difference in performance between a compact and exploded cache as well.
Mixed caches are another new feature available with AGS 10. This enables you to have both PNG and JPG tiles in the same cache. Ordinarily when overlaying caches you would see a white boundary with a purely JPG service. In a mixed cache, only the images that require transparency (touch the boundary) are PNG. The interior tiles that don't have to be transparent are JPG. This means you use less disk space and still get the benefit of transparency when overlapping map services. For imagery caches, keep JPG quality above 60, and for non-imagery use a higher quality JPG (90+) in order to see near seamless quality between the PNG and JPG tiles.
Collaborative caching starts with a regional base map that covers the whole extent of your area. You can then import data from different sources into your cache, providing they use the same tiling scheme. You can merge data by scale, extent or feature class boundary. If you had higher resolution imagery available within a city boundary, you could import it using the city boundary feature class - it even imports down to the pixel so you get an exact boundary. In this example, you no longer have to overlay two separate services. Likewise you can export by scale, extent or feature class boundary if you just want to use part of a cache.