What do you want to store in memory? There is nearly nothing to store in memory. Once parsed, your block datas will most likely be stored on hard disk...
Bottleneck is mostly CPU and I/O, not memory.
This is the closest thing I see already built but its for project's wallets.
This is something that is really trivial to do (even for ERC20 tokens).
Ethereum provides ready to use apis in multiple languages (js, golang) in addition of the json rpc api. You can grab blocks, transactions, etc in just a few lines of code, and you'll just need some time to process the whole thing.