@transisto and @furion : what about **data sharding** the blocks chronologically and load balance from there? Of course I have no insights in steemdata's exact loads, but aren't the latest blocks queried most? If so, a relatively small chunk of data consumes most CPU / RAM but only a fraction of SSD, so by sharding "new blocks" (MongoDB can shard by default) on a separate node splits the SSD vs CPU/RAM/bandwidth problems.
Just an idea! ;-)
EDIT: small self-upvote for visibility, 100% upvoted "contribution comment #4"