RocksDB requires cross address spaces RPC calls which, naturally, is going to be a lot slower than doing something in-process in a streaming engine.
I think most teams who implemented stateful streaming engines just wanted to get to market quick, like the Flink team I knew, hence they chose RocksDB.
Hi, you might be thinking of another key-value store (FoundationDB maybe?). RocksDB can be linked as am embedded library so it doesn't need to run in a separate address space.
I was thinking of JVM based systems like Flink, that use JNI to access RocksDB.