it-swarm.com.ru

Облегченная Javascript DB для использования в Node.js

Кто-нибудь знает легкую, но надежную базу данных, написанную на Javascript, которую можно использовать с Node.js.

Мне не нужен "вес" таких (хороших) решений, как Mongo или Couch. Достаточно будет простой базы данных JS в памяти с возможностью сохранения на диске в виде файла. Я бы использовал его только для хранения небольших объемов данных.

Требования:

  • может работать в процессе с приложением сервера node.js
  • может сохранить всю базу данных на диск и восстановить после сбоя
  • Нет необходимости в атомарных записях или поддержке транзакций
  • быстрая обработка запросов и сортировка
  • требуется только поддержка небольших объемов данных, всего до 1 МБ

До сих пор я сталкивался с TAFFY db, но, похоже, он не оптимизирован для использования в Node.js. Кто-нибудь видел, что я там ищу?

Спасибо

120
ConfusedNoob

Я знаком только с Монго и Куш, но есть еще один с именем Постоянство .

7
Steve

У меня были те же требования, что и у вас, но я не смог найти подходящую базу данных. nStore был многообещающим, но API был недостаточно полным и не очень согласованным.

Вот почему я сделал NeDB - встроенную базу данных без зависимостей для проектов Node.js. Вы можете использовать его с простой require(), он постоянен, и его API является наиболее часто используемым подмножеством очень известного API MongoDB.

https://github.com/louischatriot/nedb

99
Louis Chatriot

NeDB кажется, что вы ищете. Из объявления:

Встроенная постоянная база данных для Node.js, написанная на Javascript, без зависимости (кроме модулей npm, конечно). Вы можете думать об этом как о SQLite для проектов Node.js, который можно использовать с простым оператором require. API является подмножеством MongoDB. Вы можете использовать его как постоянное или только в памяти хранилище данных.

19
Christof Jans

Lokijs : Быстрое, ориентированное на память хранилище данных для документов для node.js, браузера и cordova.

  • В памяти Javascript Datastore с постоянством
  • In-Browser NoSQL db с синхронизацией и сохранением
  • магазин в стиле Redis
  • Персистентная база данных NoSQL для Cordova
  • Встраиваемая база данных NoSQL с постоянством для узла-веб-набора

LokiJS - идеальное решение:

  • Мобильные приложения - особенно на основе HTML5 (Cordova, Phonegap и т.д.)
  • Node.js встроенное хранилище данных для небольших и средних приложений
  • Встроенный в настольное приложение с Node Webkit

https://github.com/techfort/LokiJS

15
Damodaran

Посмотрите на http://www.tingodb.com . Я считаю, что он делает то, что вы ищете. Кроме того, он полностью совместим с MongoDB API. Это снижает риски внедрения и дает вам возможность переключаться на тяжелое решение по мере роста вашего приложения.

https://github.com/sergeyksv/tingodb

12
Sergey Korotkov

Попробуйте nStore, это похоже на легкий ключ/значение облегченной развернутой базы данных для узла. Смотрите https://github.com/creationix/nstore

9
Guy Korland

LevelUP стремится раскрыть возможности LevelDB в удобной для Node.js форме.

https://github.com/rvagg/node-levelup

Вы также можете посмотреть на UnQLite. с привязкой node.js node-unqlite

https://github.com/symisc/unqlite

7
user2870483

У меня были проблемы с SQLite3, nStore и Alfred.

Что работает для меня --- грязный узел :

path = "#{__dirname}/data/messages.json"
messages = db path

message = 'text': 'Lorem ipsum dolor sit...'

messages.on "load", ->    
    messages.set 'my-unique-key', message, ->
        console.log messages.get('my-unique-key').text

    messages.forEach (key, value) ->
        console.log "Found key: #{key}, val: %j", value

messages.on "drain", ->
    console.log "Saved to #{path}"
7
Radek

Может быть, вам стоит попробовать LocallyDB это простой в использовании и легкий в дополнение к расширенной системе выбора, похожей на условное выражение javascript ...

https://github.com/btwael/locallydb

5
Wael Boutglay

UeberDB обеспечивает абстракцию для различных баз данных

https://github.com/pita/ueberDB

https://www.npmjs.org/package/ueberDB

3
John McLear

Я написал jaguarDb для обработки некоторых вещей, о которых вы упомянули, поскольку мне иногда нужна "маленькая" база данных для демонстрационных или тестовых проектов, и я не хочу зависеть от mongoDB или другой реальной базы данных.

https://github.com/hectorcorrea/jaguarDb

2
Hector Correa