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

Я разрабатываю приложение, которое, конечно, нуждается в хранении данных (например, учетные записи пользователей, журналы и т. Д.). Я не хочу, чтобы производительность была проблемой, поэтому поиск / обновление / удаление данных будет происходить в отдельном потоке от основного потока приложения (модель создатель-потребитель).

Я не могу использовать базы данных NoSQL или любую другую систему баз данных, потому что им нужно внешнее приложение, чтобы сделать данные доступными (например, с сетевым каналом к ​​хосту).

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

Я искал базы данных, которые можно интегрировать, но я не могу найти ни одной.

  • Есть ли доступные для простой операции вставки, обновления, удаления
    только проект?
  • Или мне нужно придерживаться плоских файлов, потому что есть
    нет независимой библиотеки хранения данных, которую я могу интегрировать? (например, сделать
    класс и определить функции записи файла там для моего хранения данных)
  • Какие у меня есть другие варианты?

Примечание: я знаю, что это было бы глупо, но на самом деле один из моих вариантов: есть ли база данных SQL (предпочтительно PostgreSQL), которую я могу скомпилировать вместе с моим проектом, а затем выдавать запросы локально?

0

Решение

базы данных […] нуждаются во внешнем приложении

Неправильно. Есть много внутрипроцессных систем баз данных (например, SQLite что, с небольшой осторожностью, может быть сделано полностью совместимым с кислотой).

Существует ли база данных SQL (предпочтительно PostgreSQL), которую я могу скомпилировать вместе с моим проектом, а затем выдавать запросы локально?

Ну, я начал отвечать, прежде чем вы добавили это замечание, но снова SQLite приходит на ум. Если эта конкретная БД вам не подходит, вы можете поискать либо «встроенная база данных» или же «незавершенная база данных«существует множество похожих продуктов — как SQL, так и NoSQL.

Один хороший NoSQL, БД ключ-значение будет Беркли Д.Б. но я боюсь, что с момента ее покупки Oracle срок действия лицензии сократился, поэтому я не уверен, что она по-прежнему актуальна в настоящее время (если ваше приложение не имеет полностью открытого исходного кода или вы не можете купить коммерческую лицензию).

1

Другие решения

Похоже, хорошая работа для SQLite

0

А как насчет SQLite? Для этого не нужно никаких особых и сложных зависимостей. Это довольно легко настроить и использовать.

0
По вопросам рекламы [email protected]