Quote from Gringinho:
The main reason for applying a database or perhaps another transaction-oriented system is safety.
Atomicity of transactions, rollbacks, audits are the only reason for applying database to this type of "seldomly accessed data".
Otherwise, having it in memory and flat files are the best thing - for performance and ease of use, administration.
I agree, but I think that applies mostly to a corporate team-oriented environment. (unless of course if you have a personal super duper parallel system that receives multiple price feeds and need to evaluate & execute ultra short term strategies in realtime
)If you're just a lone ranger, I think the most important consideration in deciding whether you need a db is your querying needs - that is, if you need to selectively read in only chunks of your data at a time. That's usually due to:
1) Lack of main memory:
e.g. you want to evaluate a strategy on intraday data that spans several years and your memory can only store one week's worth of data at a time.
2) The nature of your strategy requires you to select subsets of data at a time
e.g. your strategy involves choosing only the top 100 most active stocks from the Russell 3K each day.
Otherwise, like Gringinho said, I think the easiest and fastest way to go is to store your data in flat files and then stuff everything into main memory when you need to work with them.
