title: What is the best way to keep an almost static data for web application?
body: <p>I'm building a web application in python. A part of this application is working with the data that can be described as follows:</p>
  
  <pre><code>Symbol     Begin Date      End Date
  AAPL       Jan-1-1985      Dec-27-2010
  ...
  </code></pre>
  
  <p>The data is somewhat static - it will be periodically updated, that is: new entries may be added, and the "End Date" field can be updated for all entries.</p>
  
  <p>Now, the question: given the more-or-less static nature of the dataset, what is the best way of storing it and working with it? "Working" means fetching random lines, hopefully more than few times per second.</p>
  
  <p>I can do it with XML file, with SQL DB or SQLite, with JSON object file and some kind of python object in memory.</p>
  
  <p>What are the cons and pros of different solutions? I'll be thankful for explanations and for the edge cases (such as 'until 10times/sec XML file is the best, after that SQL DB).</p>
  
  <p><em>Update: Thanks for all the answers! Just a smallish update: currently the set is around 3K lines. It may grow to, say, 15K lines in a year. Access pattern: updates are regular, once a day, for the complete set; so both adding lines and updating end date will be done at once. Fetching a random line is indeed by the symbol, could be done few times a second.</em></p>