Which database should I look at for analyzing ~30gb, 700M records dataset?
(Too long for a comment...)

MySQL...

SHOW VARIABLES LIKE '%buffer%'; -- the main configuraton is the cache allocation.  But it depends on which Engine you are using and how much RAM you have.


  pretty normalized, specifically joining, grouping, slicing and dicing the 3 tables


Sorry, but we need to check the details.  Please provide SHOW CREATE TABLE, some slow queries plus their EXPLAINs.

Are you CPU-bound?  Then the queries and/or indexes need attending to.

Are you I/O-bound?  Then probably indexes.

Edit 1

Glancing at the "schema", I see something naughty:  diagnosis_code is NUMBER in one table and VARCHAR(30) in another.  This makes it impossible to use an index when JOINing.

So, I repeat, let's see the MySQL version of CREATE TABLE and the queries.