title: Difference between a ring buffer and a queue
body: <p>What is the difference between the ring (circular) buffer and a queue? Both support FIFO so in what scenarios I should use ring buffer over a queue and why?</p>
  
  <p><em>Relevance to Hadoop</em></p>
  
  <p>The map phase uses ring buffer to store intermediate key value pairs. What are the reasons for this choice over a queue?</p>