Raster in the Database

There’s an interesting question posted on the All Points Blog:

If I want to use image pyramids to speed data distribution at different scales, should I consider storage in a spatial database? Is that how most pyramids are stored? I guess the files can be stored outside a database, but is it as efficient?

The responses are interesting and confirm something I’ve been telling people for a long time - there is no advantage to putting your raster layers in a database. In fact it’s quite the opposite. The amount of drive space you’ll need will increase substantially (unless you like your images extra fuzzy), you will incur big software costs, and your performance will likely be the same or a little worse.

This isn’t what you’ll hear from database vendors, but remember, the vendor exists to vend. Telling you you don’t need something isn’t high on their list of priorities. And don’t listen to the awe and wonderment surrounding the building of pyramids. You can build pyramids for your plain old raster files, and some formats (like Mr. Sid) have pyramids built in whether you want them or not.

I’ve talked to a lot of private sector developers and I’ve done quite a bit of experimenting myself, and the conclusion I’ve reached from both is don’t put your rasters in a database. If you are worried about file share licenses, put your imagery on a linux box, and if you want to serve them over then net via WMS, use something easy like MapServer and then build a tile cache with something like Tilecache. I think even ESRI is coming to this conclusion with their ArcGIS Image Server.

Have a different take on the matter? Sound off in the comments section.