What is best datatype for surrogate key


What is best datatype for surrogate key

I am working on a project where there is a need to increase the storage available for surrogate key to accomodate for more keys due to business growth.

Currently its defined as integer and proposed solution is to change data type of the  field to decimal(18,0).

I feel  biginteger would be ideal rather decimal. Semantically, surrogate keys are generated synthetic numbers and why would decimal be recommended.

What would be the perfomance implications and how are the data types represented internally by the system?.

Please advise.