When using the snapshot feature for a JDBC device that used to index a very large table, memory utilization goes up dramatically. In order to use the JDBC device for arbitrarily large tables, a different method other than storing in memory could be explored. A comment on this issue indicated: "Currently, the way the device is implemented is by storing the snapshot data in memory, and this is why you see the memory problems. The device can be optimized to not store everything in memory"
A thread discussing this is here: http://forum.compass-project.org/message.jspa?messageID=293886#293886