title: Hibernate tuning for high rate of inserts and selects per second
body: <p>We have a data acquisition application with two primary modules interfacing with DB (via Hibernate) - one for writing the collected data into DB and one for reading/presenting the collected data from DB.</p>
  
  <p>Average rate of inserts is 150-200 per second, average rate of selects is 50-80 per second.</p>
  
  <p>Performance requirements for both writing/reading scenarios can be defined like this:</p>
  
  <ol>
  <li>Writing into DB - no specific timings or performance requirements here, DB should be operating normally with 150-200 inserts per second</li>
  <li>Reading from DB - newly collected data should be available to the user within 3-5 seconds timeframe after getting into DB</li>
  </ol>
  
  <p>Please advice on the best approach for tuning the caching/buffering/operating policies of Hibernate for optimally supporting this scenario.</p>
  
  <p>BTW - MySQL with InnoDB engine is being used underneath Hibernate.</p>
  
  <p>Thanks.</p>
  
  <p>P.S.: By saying "150-200 inserts per second" I mean an average rate of incoming data packets, not the actual amount of records being inserted into DB. But in any case - we should target here a very high rate of inserts per second.</p>