- bloom filter (used to optimize search non-exist key)
- range get
- optimize set
- tx, mvcc
- error handling
- restrict sstable size (maybe need a goroutine to check size, then divide or merge)
- target size (all non-0 levels have target sizes. Compaction's goal will be to restrict data size of those levels to be under the target. The size targets are usually exponentially increasing) ref