Effectively saving a graph (terabytes) in a database
Column &lt; Row &lt; Block &lt; Table
One column had a number, date, string, or a small number of other possibilities.  It takes a few bytes or many bytes.
One row like you described (4 columns each taking a few bytes) will take perhaps 40 bytes when you add in some overhead.
One block is 16KB and holds (in your case) a few hundred rows.  I mention a block because it is the unit of caching in InnoDB tables.  All activity is done on blocks in RAM.  If an operation needs to work on the rows in a block but that block is not in RAM, it will be brought into RAM, possibly pushing out some other block.  (Read about &quot;caching&quot;.)
One table is composed of as many blocks as are needed -- billions in your case!
So,...  because of caching those billions of blocks can be handled.  But with a lot of I/O.
I am assuming you need one row to describe one edge.  And probably another table with nodes -- and 4 billion rows in that table.
These are huge numbers.  Am I misinterpreting the number of edges and nodes?  What do you expect to walk through all the edges for some operation?  If so, let's see...

40TB in edge table;
2.5 billion blocks, each needing to be read at least once;
SSD drive that can handle 1K reads/second;
2.5 million seconds to read all edges once;
That's about 1 month.

Somethin's gotta give!