Дорогие друзья помогите решить задачу по архитектуре приложения.
Я работаю в небольшой производственной компании, производим различное оборудование.
Существует порядка 20 типов приборов, и у каждого около 20 модификаций которые частенько меняются.
При производстве каждого прибора на данный момент мы используем бумажные паспорта качества, это внутренний документ в котором мы записываем производственные операции, кто выполнял когда выполнял серийные номера комплектующих и тд. За несколько лет у нас накопилось достаточно много данных "Паспортов" и встал вопрос о переносе всего этого хозяйства в электронный вид.
В чем заключается суть вопроса. При каждой производственной операции в зависимости от типа и модификации прибора необходимо сохранять разную информацию.
Как я вижу способ хранения данных:
Для каждого типа прибора есть статический набор данных например серийный номер прибора, серийный номер электронной платы и тд. а так же набор динамических данных при каждой производственной операции, например при сборке необходимо проверь тип винтов, проверь наклейки и тд, при настройке проверить параметр 1, 2 ....
Я хочу сделать для каждой операции некий шаблон, и хранить его в базе данных, то-есть при создании новой операции я загружаю из базы данных этот шаблон , заполняю его данными и в таком виде сохраняю в базу. Для хранения планирую использовать jsonb в postgresql.
Так же рассматривал вариант использования EAV, но мне кажется что это даст большую нагрузку на базу данных и скажется на быстродействии программы.
Подскажите насколько такой вариант жизнеспособный или может быть есть какие-то решения данной задачи? Или скажите в какую сторону копать?
Заранее благодарю за помощь!
Так же рассматривал вариант использования EAV, но мне кажется что это даст большую нагрузку на базу данных и скажется на быстродействии программы.
json слегка быстрее eav
Разница будет различима на миллионах позиций
Для каждого типа прибора есть статический набор данных например серийный номер прибора, серийный номер электронной платы и тд.
а так же набор динамических данных при каждой производственной операции, например при сборке необходимо проверь тип винтов, проверь наклейки и тд, при настройке проверить параметр 1, 2 ....
совсем не понятно при чем текстовая информация к БД.