Node.js में उपयोग के लिए हल्के जावास्क्रिप्ट DB [बंद]


130

किसी भी हल्के से टिकाऊ डेटाबेस के बारे में किसी को पता है, जिसे जावास्क्रिप्ट में लिखा गया है, जिसका उपयोग Node.js. के साथ किया जा सकता है।

मैं मानगो या काउच जैसे (महान) समाधानों का 'वजन' नहीं चाहता। फ़ाइल के रूप में डिस्क को बनाए रखने की क्षमता के साथ एक सरल, मेमोरी जेएस डेटाबेस में पर्याप्त होगा। मैं इसका उपयोग केवल कम मात्रा में डेटा स्टोर करने के लिए करूंगा।

आवश्यकताएँ:

  • नोड.जेएस सर्वर अनुप्रयोग के साथ प्रक्रिया में चल सकता है
  • पूरे डेटाबेस को डिस्क में सहेज सकते हैं और विफलता के बाद पुनर्प्राप्त कर सकते हैं
  • परमाणु लेखन या लेनदेन के समर्थन की कोई आवश्यकता नहीं है
  • तेजी से प्रश्नों और छँटाई अच्छा होगा
  • केवल छोटे डेटा वॉल्यूम का समर्थन करने की आवश्यकता है, कुल 1MB तक

मैं अब तक TAFFY db के पार आ गया हूं, लेकिन यह वास्तव में Node.js. में उपयोग के लिए अनुकूलित नहीं लगता है किसी ने देखा कि मैं वहाँ क्या देख रहा हूँ?

धन्यवाद


जवाबों:


6

मैं केवल मोंगो और काउच से परिचित हूं, लेकिन पर्सिस्टेंस नामक एक नाम भी है ।


14
क्या आप अभी भी इस पर विचार करेंगे? आखिरी प्रतिबद्धता 7 साल पहले की थी।
mjwrazor

3
31 मार्च, 2010 को नवीनतम
कमेटी

1
मैं अपने नए की तलाश में लगता है PersistenceJS
Chamilyan

1
यह कैसे संभव है कि किसी भी बेहतर @Chamilyan
Zee

103

आपकी जैसी आवश्यकताएं थीं, लेकिन एक उपयुक्त डेटाबेस नहीं मिल सका। nStore होनहार था लेकिन एपीआई लगभग पूरा नहीं था और बहुत सुसंगत नहीं था।

यही कारण है कि मैंने नेडीडीबी बनाया , जो कि Node.js परियोजनाओं के लिए एक निर्भरता-कम एम्बेडेड डेटाबेस है। आप इसे एक साधारण के साथ उपयोग कर सकते हैंrequire() , यह लगातार है, और इसका एपीआई बहुत प्रसिद्ध मोंगडीडीबी एपीआई का सबसे अधिक इस्तेमाल किया जाने वाला सबसेट है।

https://github.com/louischatriot/nedb


8
nedb महान है, लेकिन इस बात का ध्यान रखें कि आप इसे कई प्रक्रियाओं में उपयोग नहीं कर सकते हैं - प्रत्येक को स्टार्टअप पर अपनी कॉपी मिलती है।
मियोकी

12
हेड-अप के रूप में ऐसा लग रहा है कि नेडबेक को छोड़ दिया गया होगा।
लड़के

3
मुझे समझ में नहीं आ रहा है कि 1.5 साल पहले की नवीनतम प्रतिबद्धता का मतलब है कि परियोजना को छोड़ दिया गया है। यह बिल्कुल नहीं है, यह सिर्फ अपने लक्ष्य को हासिल किया है और मैं फ़ीचर-रेंगना में कोई मूल्य नहीं देख रहा हूँ ...
लुई चतुर्थ

7
एक साधारण स्क्रिप्ट पर विचार करें जो हर 3 महीने में README को अपडेट करती है, अंतिम पंक्ति की जगह लेती है जो कहती है कि "यह परियोजना अभी भी सक्रिय है जैसा कि <आज की तारीख> - एनडीडीबी (सी) 2013- <आज का वर्ष> लुई चैत्र"; कमिट मैसेज कुछ इस तरह का होना चाहिए "उस परियोजना को अभी भी <आज की तारीख" के रूप में सक्रिय किया गया है, जो कि पहली बात होगी जो लोग गीथब के शीर्ष पर देखेंगे।
जियाकोमो लाकवा

6
@LouisChatriot मुझे सहमत होना होगा। आपके पास 107 मुद्दे हैं, 32 पीआर वहां बैठे हैं और कोड में अंतिम परिवर्तन 3 साल पहले हुआ था। बस यह देखते हुए, यह वह सॉफ्टवेयर है जिसे मैं नहीं लाना चाहता और असंगतताओं से निपटना चाहता हूं (3 साल js देव में एक अनंत काल है), मुद्दों को नजरअंदाज किया जाता है, आदि। सितारों की सही मात्रा लेकिन यह ताजा चीख नहीं करता है।
कार्ल्स अल्केला

18

नेडब्यू लगता है कि आप क्या देख रहे हैं। ब्लर से:

जावास्क्रिप्ट के लिए एंबेडेड लगातार डेटाबेस, जावास्क्रिप्ट में लिखा गया है, जिसमें कोई निर्भरता नहीं है (पाठ्यक्रम के एनपीएम मॉड्यूल को छोड़कर)। आप इसे Node.js परियोजनाओं के लिए एक SQLite के रूप में सोच सकते हैं, जिसका उपयोग सरल आवश्यकता विवरण के साथ किया जा सकता है। एपीआई MongoDB का एक सबसेट है। आप इसे लगातार या इन-मेमोरी केवल डेटास्टर के रूप में उपयोग कर सकते हैं।


@Deilan मुझे समझ में नहीं आ रहा है कि 1.5 साल पहले नवीनतम प्रतिबद्ध का मतलब है कि परियोजना को छोड़ दिया गया है। यह बिल्कुल नहीं है, यह सिर्फ अपने लक्ष्य को प्राप्त किया है और मैं फ़ीचर-रेंगना में कोई मूल्य नहीं देख रहा हूँ ...
लुई चतुर्थ

@LouisChatriot मैं सहमत हूं कि आम तौर पर मैं अब तक किसी भी निर्णय के साथ गलत हूं। इसलिए मैंने इसे अपनी शुरुआती टिप्पणियों से हटा दिया।
देिलन

16

लोकिज : नोड, जेएस, ब्राउज़र और कॉर्डोवा के लिए एक तेज़, इन-मेमोरी दस्तावेज़-उन्मुख डेटास्टोर।

  • इन-मेमरी जावास्क्रिप्ट जावास्क्रिप्ट डाटस्टोर विह पर्सिस्टेंस
  • इन-ब्राउज़र NoSQL db को सिंकिंग और प्रिस्टिंग के साथ
  • एक रेडिस-शैली की दुकान एक npm स्थापित करें
  • कॉर्डोवा के लिए लगातार नोएसक्यूएल डीबी
  • नोड-वेबकिट के लिए दृढ़ता के साथ एम्बेड करने योग्य NoSQL db

लोकीज आदर्श समाधान हो:

  • मोबाइल एप्लिकेशन - विशेष रूप से HTML5 आधारित (कॉर्डोवा, फोनगैप, आदि)
  • छोटे-से-मध्यम ऐप्स के लिए Node.js ने एम्बेडेड डेटास्टोर
  • नोड वेबकिट के साथ डेस्कटॉप अनुप्रयोग में एंबेडेड

https://github.com/techfort/LokiJS


यदि मैं अपना स्थानीय क्षेत्र साफ़ कर दूं तो lokiJS में मेरा डेटा साफ़ हो जाएगा?
HI थ्रक

@LeardoardoDaCodinchi - यह निर्भर करता है कि आप इसका उपयोग कैसे करते हैं, लेकिन नोड में यह दृढ़ता के लिए एक json फ़ाइल को बचाता है।
ब्रायनग्रेज़्ज़ाक

डेटाबेस अभी भी स्टार्टअप पर स्मृति में संग्रहीत है। जो मुझे समझ में आया है।
mjwrazor

14

Http://www.tingodb.com पर एक नज़र डालें । मेरा मानना ​​है कि यह वही करता है जो आप खोज रहे हैं। इसके अतिरिक्त यह MongoDB एपीआई के साथ पूरी तरह से संगत है। यह कार्यान्वयन जोखिमों को कम करता है और आपके ऐप के बढ़ने पर आपको भारी समाधान पर स्विच करने का विकल्प देता है।

https://github.com/sergeyksv/tingodb


1
MongoDB के साथ पूर्ण संगतता एक बहुत अच्छी सुविधा है - अपने ऐप को छोटे स्थानीय db के साथ काम करने के लिए विकसित करें, फिर अगर आपको MongoDB तक स्केल करने की आवश्यकता है .... धन्यवाद!
ब्रैड पार्क्स

... लेकिन निश्चित रूप से nedb के साथ तुलना करना न भूलें , जो MongoDB संगत भी है, और देखें कि आपके लिए कौन सा काम करता है
ब्रैड पार्क्स

26 दिसंबर, 2016 को नवीनतम वचन।
दीवान


8

मुझे 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}"

इस शेयर के लिए धन्यवाद, मैं कुछ समय के लिए इस तरह के लिए देख रहा था। छोटी वेबसाइटों के साथ संयोजन में यह ठीक काम करता है!
डिटर्जेंट

1
@DieterGoetelen आपका स्वागत है! मैं भी एक अधिक शक्तिशाली EJDB जो एक वाक्य रचना MongoDB की तरह और Node.js में और उससे आगे बाइंडिंग है का उपयोग करते हुए हाल ही में काफी खुश था github.com/Softmotions/ejdb-node
राडेक


5

शायद आपको स्थानीय रूप से प्रयास करना चाहिए यह यह जावास्क्रिप्ट अभिव्यक्ति के समान उन्नत चयन प्रणाली के साथ उपयोग में आसान और हल्का हो ...

https://github.com/btwael/locallydb


धन्यवाद Wael Amine Boutglay LocallyDB बस नोड जे एस के लिए मेरी बात की थी। पहले मैं php के साथ काम कर रहा था और मैंने अपना फ्लैट फाइल डेटाबेस github.com/sguha-work/LifeDB
Angshu Guha

स्थानीय रूप से परीक्षण के लिए LocallyDB अच्छा है ! कृपया ध्यान दें कि यह ब्लॉक IO का उपयोग करता है। करो नहीं उत्पादन में इसका इस्तेमाल करते हैं।
Junle Li

1
लिंक काम नहीं करता है। यह एक डोमेन पार्किंग पेज है।
आरपी

@ आरएसपी लिंक तय, http://boutglay.com/locallydb/
वेल बाउटगले

1 अगस्त, 2016 को नवीनतम
कमेटी


1

मैंने jaguarDb को कुछ ऐसी चीजों को संभालने के लिए लिखा था जिनका आप उल्लेख कर रहे हैं क्योंकि मुझे कभी-कभी डेमो या परीक्षण परियोजनाओं के लिए "थोड़ा" डेटाबेस की आवश्यकता होती है और मैं mongoDB या किसी अन्य वास्तविक डेटाबेस पर निर्भर नहीं होना चाहता।

https://github.com/hectorcorrea/jaguarDb


2
3 अप्रैल, 2013 को नवीनतम प्रतिबद्धता।
दीवान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.