Hi there,

It seems that the RocksDB state store is quite slow in my case and I wonder
if I did anything wrong.

I have a topic, that I groupBy() and then aggregate() 50 times. That is, I
will create 50 results topics and a lot more changelog and repartition
topics.

There are a few things that are weird and here I report one, which is the
State store speed.

If I use:

      StateStoreSupplier stateStoreSupplier = Stores.create(storeName)
        .withKeys(stringSerde)
        .withValues(avroSerde)
        .inMemory()
        .build();

Then processing 1 millions records takes around 5 minutes on my coding
computer.

If I use:

      StateStoreSupplier stateStoreSupplier = Stores.create(storeName)
        .withKeys(stringSerde)
        .withValues(avroSerde)
        .persistent()
        .disableLogging()
        .enableCaching()
        .build();

Processing the same 1 million records takes around 10 minutes.

I believe in the first case, changelog is backed up to Kafka and in the
second case, only RocketsDB is used.

But why the RocketsDB is so slow?

Eventually, I am hoping to do windowed aggregation and it seems I have to
use RocketsDB, but given the performance, I am hesitating.

Thanks
Tianji

Reply via email to