Нужны доводы против последовательных целочисленных индексов
Я стою на пороге нового проекта для своей организации и разрабатываю архитектуру этого веб-приложения. При этом у меня возник, вернее опять обострился, давний конфликт с не-IT архитекторами и будущими пользователями: я хочу скрывать ID записей (объектов) в пользовательском интерфейсе и использовать GUID на стороне сервера (в базе данных), потому что везде скрыть не получится, а я не хочу давать пользователям шанс знать структуру и играться угадывая номера (например, если у записи ID 123 то есть наверняка 122 и 124). В случае GUID еще облегчается много других вещей, таких как кластеризация БД в будущем и т.п. (давайте не будем пока спорить о производительности INT vs GUID, что лучше дебажить и.т.п. )
Проблема в том, что все остальные не просто хотят целочисленные последовательные индексы, они хотят их видеть везде, чтобы потом можно было легко ссылаться на них в разговорах и корреспонденции, например, «Эй! Кто отвечает за проект 4096?», при том, что этот же проект всегда имеет собственное имя и можно ведь ссылаться на него.
Как вариант, я предложил им целочисленные индексы выглядящие случайным образом и имеющие одинаковую длину (на сервере я бы перекодировал их на лету в нормальные целочисленные ID), но они не хотят слушать, так как это тяжело запомнить.
В общем, какие есть еще доводы чтобы переубедить? Как такую проблему решаете вы?
Ну, допустим, кто-то захочет перебрать все паблик-записи, например. Непосредственной угрозы как-бы нет, но и пользы тоже, особенно если это будет делать скрипт во время наибольшей активности пользователей. Плюс такая проблема как предоставление статистики конкурентам, например количество пользователей и т.п.