Raw RAM space is not the issue... it's indexing and structure of the data that makes it process-able.
If you just need to spin through the data once, there's no need to even put all of it in RAM - just stream it off disk and process it sequentially.
If you need to join the data, filter, index, query it, you'll need a lot more RAM than your actual data. Database engines have their own overhead (system tables, query processors, query parameter caches, etc.)
And, this all assumes read-only. If you want to update that data, you'll need even more for extents, temp tables, index update operations, etc.
I often use RAM disks for production services. I'm sure that I shouldn't. It feels very lazy, and I know that I'm probably missing out on the various "right" ways to do things.
But it works so well and it's so easy. It's a really difficult habit to kick.
Obligatory joke: "Oh boy, virtual memory! Now I can have a really big RAM disk!"
Raw RAM space is not the issue... it's indexing and structure of the data that makes it process-able.
If you just need to spin through the data once, there's no need to even put all of it in RAM - just stream it off disk and process it sequentially.
If you need to join the data, filter, index, query it, you'll need a lot more RAM than your actual data. Database engines have their own overhead (system tables, query processors, query parameter caches, etc.)
And, this all assumes read-only. If you want to update that data, you'll need even more for extents, temp tables, index update operations, etc.