@MonSSteR

Какая есть альтернатива для lowdb?

хочу написать пет проект чтобы изучить работу graphql и websocket и мне нужна база данных и я не знаю что использовать.
что мне нужно:
1. работает на node.js , без ruby, .net и тд.
2. нереляционная, то есть хранение не в таблицах, а в ключ:значение формате, разделение по таблицам будет в разных файлах
3. для неё не нужен свой сервер и всё взаимодействие с ней идёт через ноду

то есть если я хочу что то взять то я пишу async функцию этой базы и передаю туда файл базы и схему что мне нужно достать и она возвращает мне промис с тем что мне нужно.
из того что мне подходит я нашёл только lowdb, хочется посмотреть альтернативы по синтаксису взаимодействия
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
mayton2019
@mayton2019
Bigdata Engineer
работает на node.js , без ruby, .net и тд.

Я не согласен с такими странными требованиями. Что за религия запретила .net? Тебе нужен только nodejs-клиент к этой базе а сама база может быть написана на чем угодно. Тебя-же не смущает что nginx написан на языке С ? Как-то же node-приложения работают с ним?

нереляционная, то есть хранение не в таблицах, а в ключ:значение формате, разделение по таблицам будет в разных файлах

Посмотри https://db-engines.com/en/system/LevelDB. Это классика и обычно всем подходит. Даже в блокчейнах (кошельках) используется.

для неё не нужен свой сервер и всё взаимодействие с ней идёт через ноду

Скорее всего речь идет об однопользовательской файловой БД. Тут тоже leveldb подходит.

По поводу промисов - ничего не скажи. Возможно есть обертка которая закроет для тебя синхронность
и сделает видимость асинхронности.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@rPman
Ооднопользовательская база данных key-value это файлы на диске (key - имя файла, value - содержимое), при перезаписи файла сначала его создавай с другим именем позже переименовывай, это гарантирует сохранность данных при сбоях. По особому желанию, хранение файлов можно разделять по каталогам соответственно типам данных.

нереляционная, то есть хранение не в таблицах
не майся дурью, освой sqlite, это промышленный стандарт, удобнее инструмента не найти в принципе, все кто так или иначе ковырялись с файлами приходят либо к полноценному серверу базы данных или останавливаются на промежуточном варианте с sqlite (база данных в файле, сервер не нужен)
Единственная причина хранить данные в файлах в своем формате - это оптимизация скорости за счет особых знаний о данных и их большом количестве
Ответ написан
Ваш ответ на вопрос

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

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