Я создаю веб-приложение с PHP на сервере Apache.
Приложение содержит множество необязательных данных о лицах. В зависимости от категории человека (один человек может быть во многих категориях), они могут указать данные или нет: домашний адрес (== 5 полей для улицы, города, страны, ...), рабочий адрес ( снова 5 полей), возраст, номер телефона, .... Конечно, приложение также хранит некоторые дополнительные данные (создано, последнее обновление, имя пользователя, пароль, уровень пользователя, ...).
Текущая/устаревшая версия приложения имеет 86 полей в таблице «пользователи» и (в зависимости от категории человека) дополнена дополнительной таблицей с еще 23 полями (связь 1-1).
Все это хранится в базе данных Postgresql.
Мне интересно, лучший ли это способ обработки данных такого типа. Большинство записей имеют (много) пустых полей, что делает базу данных больше, а запросы медленнее. Стоит ли искать другое решение, такое как Triple Store, или я слишком сильно беспокоюсь об этом и должен ли я просто сохранить текущую настройку? Кажется странным и неудобным просто добавлять поля в таблицу для каждой новой цели сайта. С другой стороны, у меня сложилось впечатление, что тройные магазины еще не так распространены. Любые указатели или предложения, как подойти к этому?
Я читал «Программирование семантической сети» Тоби Сегарана и других, но из этой книги у меня сложилось впечатление, что основным преимуществом тройных хранилищ и RDF является обмен информацией через сеть (что не является целью моего приложения). )