refreshing 500k rows per day, what primary key to use?
I'd stick with BIGINT.

An INT takes up 4 bytes of space. On 500,000 rows, that works out to 2 million bytes, or just under 2MB per day of overhead (which is practically nothing these days).

Double that for BIGINT, which is 8 bytes in size, so 500,000 rows will need under 4MB of space.

We generally recommend BIGINT if you're going to add (or change) over 2 billion rows over the lifetime of the table or index.

While INT supports a range of 4 billion values from roughly -2 billion to 2 billion, people generally start their IDENTITY value at 0 or 1, cutting out half of the available range.

In a case where you're doing 500,000 a day, a BIGINT might be better for you. It's a good trade-off between storage and data churn in the medium to long term.