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.