title: Python: interact with complex data warehouse
body: <p>We've worked hard to work up a full dimensional database model of our problem, and now it's time to start coding. Our previous projects have used hand-crafted queries constructed by string manipulation.</p>
  
  <p>Is there any best/standard practice for interfacing between python and a complex database layout?</p>
  
  <p>I've briefly evaluated SQLAlchemy, SQLObject, and Django-ORM, but (I may easily be missing something) they seem tuned for tiny web-type (OLTP) transactions, where I'm doing high-volume analytical (OLAP) transactions.</p>
  
  <p>Some of my requirements, that may be somewhat different than usual:</p>
  
  <ol>
  <li>load large amounts of data relatively quickly</li>
  <li>update/insert small amounts of data quickly and easily</li>
  <li>handle large numbers of rows easily (300 entries per minute over 5 years)</li>
  <li>allow for modifications in the schema, for future requirements</li>
  </ol>
  
  <p>Writing these queries is easy, but writing the code to get the data all lined up is tedious, especially as the schema evolves. This seems like something that a computer might be good at?</p>