Как высчитать максимальную нагрузку на БД?
Шанс выигрыша определяется не номерами билетов, а исключительно их количеством. Так что никакого смысла генерировать и хранить номера нет. Достаточно добавлять нужное количество билетов пользователю.
номер лотерейного билета можно выдавать каким-либо детерминированным алгоритмом, формирующим номер по его позиции
тогда у пользователя можно хранить номера билетов интервалами (выданы билеты с номерами a+n...a+n*2), сам же список лотерейных билетов не обязательно хранить в базе данных

на время раздачи крутится сервис, раздающий последовательно номера (интервалами) пусть даже для этого тратит память, какой-нибудь полурекурсивный алгоритм перестановки, собственно это и есть вопрос, как его красиво реализовать

записывать же в базу данных 2^100500 чисел - неразумная трата ресурсов.