The configuration recipe’s in the Storage Engine Configuration Recipes documentation has been quite enlightening, but I’m still left with some confusion.
Has anyone done a comparison of “Recipe for an SSD Storage Engine” vs. HDD Storage engine WITHOUT data in memory?
Given the same exact disks, I would like to get the flexibility of specifying files instead of raw devices. I take it aerospike needs to take a completely different approach to writing and defragging files.
Aerospike’s storage engine is not meant for “HDD without data in memory”. We liberally do random reads. HDDs will not perform well for such a work load. The latencies will be high. There will not be any correctness issues.
You already have the flexibility of specifying files on raw devices. Aerospike can work with filesystem without any issues. We just treat it as a binary file and use the same storage layer logic (because the expectation is that the files will be on SSDs). We have customers in production who create ext3/ext4 filesystem on top of SSDs. The primary reason is to logically manage the device by moving/deleting the files.