Is the rocksdb storage engine ready for production use in the latest release 7.3.x?
I can’t answer your question (though I’m pretty sure the answer is No) but is there some reason you’re interested in the rocksdb engine specifically?
Have you tried the Redwood engine? It has been production ready for a while - Snowflake finished migrating our entire fleet to Redwood about a year ago and we’ve been using it in production since FDB 7.1 about two years ago. We’ve encountered zero data corruption / loss / wrong result / stability issues, and it has eliminated very frequent storage engine bottlenecks in our fleet. Compared to the ssd-2
engine it provides lower latency and much higher throughput while using less CPU, IO, and disk space.
Thanks for your reply.
Our workload is write-intensive and there are very few data updates, in this scenario, I think rocksdb will have better performance compared to B±tree based storage engines.
And yes, we have tried the Redwood engine. Compared to the ssd-2
engine, It does perform better.
write-intensive and there are very few data updates
This sounds like a heavy insert workload. If the inserts are extremely random with almost no key locality then yes you might see better write performance at least for a time with an LSM, but I would be surprised if you see reliable sustained performance long term. Also, regardless of your workload pattern FDB’s data movement alone does not execute well on the rocksdb engine.
If you haven’t done so already, I suggest you run performance tests which drive a workload continuously for several days. This gets past the “honeymoon period” which LSMs tend to have where writes are overly cheap because compaction debt is being built up.
Also, if you’d like to share more information about your workload and the performance you saw with Redwood I might be able to suggest some tweaks to improve it.
To your question, we have been starting using 7.3.43 with RocksDB in production in a few clusters, and many more clusters for several months in Testing Storage Server (TSS). In a few months, we can probably report back our experience with RocksDB engine. So far we haven’t encountered any issues. For write heavy workload, RocksDB should perform better than ssd-2
.