Во время исследования в рамках новых функций в Apache Kafka 0,9 и 0,10, мы использовали KStreams и KTables. Есть интересный факт, что Кафка использует RocksDB внутри. См. Представление потоков Kafka: упрощена обработка потоков. RocksDB написан не на языке, совместимом с JVN, поэтому требует тщательной обработки развертывания, так как для него требуется дополнительная общая библиотека (зависит от ОС).
И здесь есть простые вопросы:
- Почему Apache Kafka Streams использует RocksDB?
- Как это можно изменить?
Я пытался найти ответ, но вижу только неявную причину, по которой RocksDB очень быстро выполняет операции в диапазоне около миллионов операций в секунду.
С другой стороны, я вижу некоторые БД, которые закодированы в Java, и, возможно, они могут сделать это из конца в конец, так как они не используют JNI.