it is generally based on the ability of any computer to store data in its memory at any time.
Wrong. It's determined by the requirements of the application, its infrastructure, etc. etc.
If the hardware and software requirements are in conflict, there's still no "best" because the requirements are flawed and all solutions will be bad.