Hasty Briefsbeta

Bilingual

From 3 Minutes to 7.8 Seconds: Improving on RocksDB performance

2 days ago
  • #RocksDB
  • #Database
  • #Performance Optimization
  • SereneDB improved RocksDB ingestion speed from 180 seconds to 7.8 seconds.
  • Used flamegraphs to identify performance bottlenecks in RocksDB.
  • Switched from rocksdb::Transaction Put to SST Writer for better performance.
  • Optimized RocksDB settings by disabling filter computation and compression.
  • Replaced sscanf with fast_float library for faster parsing.
  • Changed std::string to std::vector<char> to reduce character writes.
  • Removed redundant runtime checks and virtual function calls in hot paths.
  • Pre-created keys for columns to eliminate redundant allocations.
  • Achieved a 23x speedup through careful measurements and targeted changes.