FoundationDB

What is the "ssd-2" storage engine, as opposed to "ssd"?


(Caleb Spare) #1

I created a new database with configure new single ssd. Afterwards, status shows

Configuration:
  Redundancy mode        - single
  Storage engine         - ssd-2
  Coordinators           - 1

What does ssd-2 mean? Is it perhaps the second generation of the SSD storage engine? I don’t see it specifically mentioned in the docs, but some of the doc examples show ssd and others show ssd-2.


(Alex Miller) #2

ssd is an alias for ssd-2. There’s not a huge difference between the two. ssd-2 has better behavior with storing large values in overflow pages in the sqlite b-tree than ssd-1 and adds page checksums for better data corruption detection. As ssd-2 is strictly better than ssd-1, there’s not really any reason to run with ssd-1, but for upgrade reasons it was left in.

A quick grep only shows hits on the administration page, which also looks like output from fdbcli> status. Was there anywhere else that you saw it?

(Also, hi! Good to see that you’re still around.)


(Caleb Spare) #3

Thanks! That’s helpful.

I guess I was slightly confused because I asked for ssd, and it gave me something called ssd-2, which is similar, but not the same :slight_smile:

And yes, the administration page has an example with ssd-2, but at least two others have examples of Storage engine: - ssd (not ssd-1):

https://apple.github.io/foundationdb/building-cluster.html
https://apple.github.io/foundationdb/configuration.html

Anyway, sounds like there’s nothing for me to worry about here.