MySQL growth 500k records/day
MySQL can handle it, but not without some care.

12,000 tables is a red flag.  Each table is one (or more) OS file.  This large a number, especially if in a single database, can cause sluggishness.

Are the records merely written to the tables?  Or are they used to "update" existing rows?

I would load the 500K rows into a table(s), cleanup the data, then copy it into the real tables.

Generally, I would do the work 1000 rows at a time.  But this might vary depending on whether you have Replication, which Engine you are using, etc.

7B in 150GB smells like MyISAM; is it?

If you are "never" reading it, why put it in a database?  Why not in flat files?

What does the incoming data look like?  CSV?  mysqldump?  Other?

Simple-minded code should be able to load a nightly dump in an hour or two.  More advanced coding might get it down to less than an hour.