Recommended storage engine and migrating storage engine

Hey all, reading the forums and the FoundationDB code, it seems that the new Redwood storage engine is set by choosing ssd-redwood-1-experimental as the storage engine, but the docs still suggest using ssd as the default (we are on 7.3.69). @SteavedHams suggests in various posts that it’s production ready. Other recent forum posts suggest a RocksDB engine is also ready for production

  • Should we be setting something else other than ssd for new clusters? Should it be Redwood? RocksDB?
  • What are the tradeoffs for Redwood or RocksDB?
  • Is it possible to migrate a running cluster to a new storage engine?
2 Likes

ssd (and ssd-2) are aliases for SSD_BTREE_V2, the old, stable storage engine. Redwood and rocksdb are new offerings. Redwood, has been in production with a while now and according to reports on this list has been running well. Rocksdb is currently being rolled out according to another posting to this list. How the two engines compare beyond the fact that one is btree-based and the other LSM is a TODO at the moment; you might try them yourself. Regards migrating between engines, yes you can. You’d confgure your cluster to use the new storage and then you’d ‘wiggle’ your cluster to move over to the new configuration (See this lists archive for some experience using this feature).

Michael

I believe on latest version it is ssd-redwood-1.

  1. I would recommend either Redwood or RocksDB.
  2. I find that RocksDB’s LSM approach is not as suitable for range reads (which is extremely common in my FDB use cases). There also is work with Redwood for even longer running read transactions.
  3. Yes. You can set the new storage engine and configure gradual migration.
1 Like