Amarin,

The best approach would be to have an asynchronous data feed (based on some message-oriented middleware), which does not require polling. Both a DB and an XML data source are usually based on polling. That said, choosing between a DB and an XML file depends on many aspects, such as the polling frequency, the amount of data being polled, general architecture considerations, including transactions and fail-over. So it's impossible to provide a general answer.