title: Play Framework and Node.js non-blocking behaviour for relational databases
body: <p>Play Framework advises to relay blocking IO to an appropriate sized thread pool, as in:</p>
  
  <p><a href="https://www.playframework.com/documentation/2.5.x/ThreadPools" rel="nofollow noreferrer">https://www.playframework.com/documentation/2.5.x/ThreadPools</a></p>
  
  <p>This is the case for relational database access because there are no non-blocking JDBC drivers available <del>(with few exceptions)</del>.</p>
  
  <p>I am currently learning about Node.JS and I couldn't figure out how this is handled in node. I didn't see any need to code thinking about thread pools in node.</p>
  
  <p>So, are the relational database drivers used in node.js able to do non-blocking IO? Or are these computations being relayed to some kind of worker threads behind the scenes?</p>
  
  <p>On a broader sense: what is the correct way to code a node.js app that is very DB (relational) intensive?</p>