WinLogan
@WinLogan
Начинающий программист PHP, Python, JS

Хранение данных в JSON или EAV?

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

Для каждого типа прибора есть статический набор данных например серийный номер прибора, серийный номер электронной платы и тд.

а так же набор динамических данных при каждой производственной операции, например при сборке необходимо проверь тип винтов, проверь наклейки и тд, при настройке проверить параметр 1, 2 ....
совсем не понятно при чем текстовая информация к БД.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы