Как организовать хранилище пакетного менеджера?

Приветствую. Возникла необходимость написания пакетного менеджера. Он будет хранить много разнообразной информации, среди которой: текстовые и скомпилированные фрагменты кода, различные настройки в древовидном виде, бинарные ресурсные файлы, возможно что-то ещё. Кроме хранения он будет учитывать зависимости при загрузке или изменении информации: в т.ч. переименование или перемещение, изменение содержимого или настроек и т.д.

Вопрос: как организовать такое хранилище? Будет ли это файловая система или база данных? Если первое - как осуществить безопасность? Если второе - какую лучше выбрать?
  • Вопрос задан
  • 694 просмотра
Пригласить эксперта
Ответы на вопрос 2
Я бы не взялся отвечать сколь либо конкретно на ваши вопросы, т.к. всё это очень сильно зависит от конкретных задач, которые будет решать ваш пакетный менеджер. Непонятно, системный ли это пакетный менеджер, вроде RPM или Windows Installer, или это пакетный менеджер для языка/экосистемы вроде NPM.

Также непонятно и о каком хранилище вы говорите. Вероятно ваш пакетный менеджер будет клиент-серверным комплексом. Ваши вопросы касаются хранилища для сервисного компонента или способ хранения/установки пакетов на той машине, где они "потребляются" вас тоже интересует?

Что для вас безопасность? Доступ к каким операциям и ресурсам в вашем программном комплексе вы хотите ограничить?

Вам следует задать гораздо более узкий вопрос, а для этого сначала нужно продумать задачу самостоятельно. Если вы не знаете с чего начать - тогда либо ваши цели вам поставил другой человек, и нужно уточнить у него, либо, если эти цели вы сами себе поставили - вам надо понять, что вам хочется/нужно. Начните с изучения существующих решений, хотя бы чтобы понять, что "пакетный менеджер" - слишком шиорокое понятие, чтобы рекомендовать что-то конкретное.
Ответ написан
@alejandro68
Будет ли это файловая система или база данных?


Как хочешь - так и будет.
Можно SQLite использовать, к примеру.
Там же требования к производительности не высоки.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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