title: Why Apache Kafka Streams uses RocksDB and if how is it possible to change it?
body: <p>During investigation within new features in Apache Kafka 0.9 and 0.10,
  we had used KStreams and KTables. There is an interesting fact that Kafka uses RocksDB internally. 
  See <a href="http://www.confluent.io/blog/introducing-kafka-streams-stream-processing-made-simple/" rel="noreferrer">Introducing Kafka Streams: Stream Processing Made Simple</a>.
  RocksDB is not written in JVM compatible language, so it needs careful handling of the deployment, as it needs extra shared library (OS dependent).</p>
  
  <p>And here there are simple questions:</p>
  
  <ul>
  <li>Why Apache Kafka Streams uses RocksDB?</li>
  <li>How is it possible to change it?</li>
  </ul>
  
  <p>I had tried to search the answer, but I see only implicit reason, that RocksDB is very fast for operations in the range of about millions of operations per second.</p>
  
  <p>On the other hand, I see some DBs that are coded in Java and perhaps end to end they could do that as well as they are not going over JNI.</p>