@Monitorz_Killah

Какой формат хранения сборника норм внутри приложения использовать?

Разрабатываю десктопное приложение на Python для расчёта норм труда. Есть справочник с базовыми нормативами в Excel, на основе которого будут строиться расчёты в приложении. Разделы и подразделы справочника будут отображаться в дереве слева.
spoiler
65991d626542e408581650.png

Какой вариант для хранения справочника и быстрого подгрузки в приложение?
Excel не совсем удобно, т.к. таблицы разношерстные по формации, и к тому же, сборник планируется пополнять другими нормативами.
Перелить это все в несколько разных JSON-файлов по разделам. Но возникли сомнения в консистенции такого вида хранения: где-то что-то потрётся или потеряется. Хранить один большой JSON со всем добром тоже негоже, кмк.
Или базу на SQLite со всеми нормами, и уже ее разворачивать при запуске приложения.
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 2
2ord
@2ord
Первое, что в голову пришло - перелить это все в несколько разных JSON-файлов по разделам.
Работать с набором JSON файлов не практично. Стоит работать с СУБД.
Воообще, с начала стоит упорядочить все справочники, поработав над нормализацией данных. Нужно избавляться от неструктурированных данных, насколько это возможно.

Следом пришла мысль завести базу на SQLite со всеми нормами, и уже ее разворачивать при запуске приложения.
А это уже хороший выбор. Советую начать с неё.
Для поддержки JSON: https://sqlite.org/json1.html

Какой наилучший вариант для хранения справочника и быстрого парсинга оного для подгрузки в приложение?
Все справочники подгружать сразу при инициализации программы не нужно. Некоторые особо критичные данные можно подгрузить в начале, но только если они не занимают сотню МБ в памяти.

MongoDB точно не нужно выбирать на начальном этапе. Если на каком-то этапе будут чувствоваться ограничения SQLite, то стоит обратить внимание на Postgres.
Ответ написан
Adamos
@Adamos
Пока SQLite, а потом сравнительно безболезненно переделаете это приложение в веб-сервис на уже выстроенной логике работы с данными в базе. Только интерфейс поменять.
JSON - тупик, а noSQL - оверинжиниринг.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы