Неужели так плохо использовать "varchar" в качестве первичного ключа?
(будет храниться пользовательский документ, и да, это может превысить 2+ миллиарда документов)