В настоящее время у нас есть таблица, в которой хранится информация о пользователях.Некоторые из столбцов содержат информацию, такую как идентификатор пользователя, имя и т. Д., Но многие другие столбцы (логические, целые числа и varchars и т. Д.) Содержат параметры конфигурации для каждого пользователя.
Это со временем привело к ширинетаблица становится достаточно большой, и я думаю, что пришло время перенести это на что-то новое, поэтому я хочу удалить все столбцы, связанные с «опциями», в отдельную структуру данных.
Типичный способ сделать это,Исходя из моего опыта, будет иметь новую таблицу, которая будет просто иметь option_id
и option_name
, и вторую новую таблицу, которая будет содержать, например, user_id
, option_id
, option_value
.
Однако коллега предложил использовать новый тип столбца jsonb
в качестве альтернативы, но я не знаю, нравится ли мне идея хранения реляционных данных нереляционным способом,С точки зрения Java, это почти то же самое, насколько я могу судить - он просто превратится в POJO, а затем будет кеширован на объекте.
Я должен упомянуть, что число пользователей будетдовольно мало, только вдаваясь в тысячи, а количество столбцов может и будет исчисляться сотнями.
У кого-нибудь есть советы по поводу лучшего пути вперед?