To add to this, I've played around with implementing many more disk based data structures such as BTree, BTree B+Tree, etc and LSM tree is the easiest to work with, optimize, etc. The write speed also is much greater than the b tree and its varients which I like. I will continue to do research on them all as I normally do :P