node.js ডাটাবেস [বন্ধ]


115

আমি একটি নোড.জেএস অ্যাপ্লিকেশনটির সাথে যুক্ত করার জন্য একটি ডাটাবেস খুঁজছি। আমি ধরে নিচ্ছি যে কোনও জেসন / নোসকিএল ডিবি একটি রিলেশনাল ডিবিয়ের চেয়ে পছন্দনীয় হবে [আমি কোনও জেএসন / এসকিএল ইম্পিডেন্সের অমিল ছাড়াই করতে পারি]। আমি বিবেচনা করছি:

  • couchdb
  • MongoDB
  • redis

নোড.জেএস এর সাথে উপরেরটির সামঞ্জস্যতা / মোতায়েনের জন্য কারওরই মতামত / যুদ্ধের গল্পগুলি আবার আছে? কোন পরিষ্কার পছন্দ?


2
আমি মনে করি এমনকি বিস্তৃত প্রয়োজনীয়তা উল্লেখ করা থাকলে প্রশ্নের উত্তর দেওয়া সহায়ক হবে। প্রতিটি ডিবি এর নিজস্ব উপকারিতা, কনস এবং বিশেষত্ব রয়েছে। আমাদের চশমা জানি!
সাম্যক ভূতা

উত্তর:


79

আমি নোড.জেএস এর জন্য মঙ্গোদব ড্রাইভারের বিকাশকারী আমি আমার নিজস্ব প্রকল্পের জন্য মংডোডব ব্যবহার করছি এবং মঙ্গোদবের অভিনয় নিয়ে খুব খুশি হয়েছি।

Node.js এর জন্য মংডোব ড্রাইভার driver

(নির্লজ্জ প্লাগ) ড্রাইভার সম্পর্কে কোনও প্রশ্ন জিজ্ঞাসা করুন নির্দ্বিধায়

মংডোব ড্রাইভারের জন্য গুগল গ্রুপ

বা এখানে স্ট্যাকওভারফ্লোতে

নোড.জেএস এর সাথে মজা করুন আমি প্ল্যাটফর্মটি একেবারে পছন্দ করি: ডি


1
মঙ্গুজের দিকেও দেখুন, এটি একটি মোটামুটি সুন্দর ওআরএম যা নোড.জেএস এর জন্য মঙ্গোদব ড্রাইভার ব্যবহার করে / শীর্ষে তৈরি করে
ট্যাক্সিলিয়ান

2
আমরা বেশ কিছু সময়ের জন্য নোড.জেএস + মঙ্গোডিবি ব্যবহার করছি এবং এটি দুর্দান্ত চলছে। এবং ক্রিসটকভি-র সম্পূর্ণ কুদোস, ড্রাইভারটি রক শক্ত এবং আপনাকে ব্যর্থ করবে না। আমরা সহজেই ইসি 2 তে নোড.জেএস / এক্সপ্রেস.জেএস + মঙ্গডব স্থাপন করেছি। এছাড়াও, নোট করুন যে আমরা মঙ্গুজ ব্যবহার করছি না। চ্যালেঞ্জ সম্পর্কে কথা বলার জন্য (নোডে আপনি ইতিমধ্যে ভাল বলে ধরে নিচ্ছেন), কোনও গুরুতর অ্যাপ্লিকেশন বা পরিষেবা বিকাশের জন্য আপনার মোংগো পদ্ধতিতে কাজ করা (অনুসন্ধান এবং একীকরণ) ভাল হওয়া দরকার। অন্যান্য ডিবি থেকে মঙ্গো কীভাবে আলাদা তা শেখা যদি আপনার এখনও মূল্যায়ন পর্যায়ে থাকে তবে প্রথমে আপনার হওয়া উচিত।
সাম্যক ভূতা

আমি যা বুঝতে পেরেছি সেগুলি থেকে কিছু দুর্দান্ত বৈশিষ্ট্যগুলি মোংডোবে একত্রিত করার গতি বাড়ানোর জন্য লাইনে নেমে আসছে। এর মধ্যে একটি হ'ল দেশীয় সমষ্টি ফাংশন। slideshare.net/cwestin63/mongodb-aggregation-mongosf-may-2011 এবং জাভাস্ক্রিপ্ট ইঞ্জিনের জন্য স্পাইডারমনকিটির পরিবর্তে v8 এ যাওয়ার সম্ভাব্য স্যুইচ যা প্রতিটি মানচিত্র-হ্রাস কমান্ডকে তার নিজস্ব থ্রেডে চালানোর অনুমতি দেবে (বাই বাই সিঙ্গলথ্রেড ম্যাপ-হ্রাস) )
christkv

25

যদিও আপনার পছন্দটি আপনি যে বৈশিষ্ট্যগুলির জন্য যাচ্ছেন তার উপর অনেক বেশি নির্ভর করে, আমি সত্যই কাউচডিবি এর স্থানীয় জাভাস্ক্রিপ্ট পরিবেশের জন্য প্রশংসা করি। ডেটা এবং ভিউ উভয়ই জাভাস্ক্রিপ্টে লিখিত তাই এটি আমার মতে নোড.জেএসের সাথে খুব ভাল ফিট করে।

এছাড়াও বিভিন্ন ক্লায়েন্ট লাইব্রেরি উপলব্ধ আছে, কিছু বরং নিম্ন স্তরের, অন্যান্য সত্যিই খুব বিমূর্ত।

তবে আমি যেমন বলেছি, আপনার ডাটাবেসের জন্য আপনার প্রয়োজনীয় বৈশিষ্ট্যগুলি সম্পর্কেও ভাবা উচিত।


18

রেডিস একটি জনপ্রিয় পছন্দ। আপনি যা করছেন তা এমন একটি ডাটাবেস ড্রাইভার যা ব্লক করে না।

আপনার তালিকাভুক্ত ডাটাবেসগুলি সবই আলাদা। রেডিস মূল-মান স্টোরেজগুলির ধারণা নেয় এবং এটি দিয়ে চলে, বিভিন্ন উপাত্তের ধরণ এবং ডেটা অনুসন্ধানের উপায়গুলি যুক্ত করে। লোকেদের প্রায়শই লক্ষ্য করা যায় যে রেডিসগুলি খুব ভালভাবে স্কেলও যায়; অর্থাত পারফর্ম করার ক্ষমতা থাকা সত্ত্বেও এটি খুব কম ওভারহেড করে।

এখানে উপলভ্য ডাটাবেস মডিউলগুলির একটি তালিকা রয়েছে: http://wiki.github.com/ry/node/modules#database


হ্যাঁ রেডিস দুর্দান্ত তবে মনে হয় আমরা বাইনারি ডেটা সংরক্ষণ করতে পারি তবে তা উদ্ধার করতে পারি না! কমপক্ষে আমি বাইনারি ডেটার জন্য কোনও রেডিস কমান্ড খুঁজে পাইনি।
অ্যাপলগ্রু

সত্যি? আমি বাইনারি ডেটা সঞ্চয় করতাম (নোডের বাফার ক্লাস ব্যবহার করে) এবং এটি দুর্দান্ত কাজ করেছিল। রেডিস / নোডের কোন সংস্করণ?
ড্যানিয়েলস

12
ডিফল্টরূপে, নোড_ড্রেস সমস্ত কমান্ডের জন্য জাভাস্ক্রিপ্ট স্ট্রিংগুলি ফিরিয়ে দেবে। পরিবর্তে বাফারগুলি পেতে, createClient (পোর্ট, হোস্ট, {রিটার্ন_বফার্স: সত্য}) দিয়ে একটি ক্লায়েন্ট তৈরি করুন;
ম্যাট রেনি

4
@ ম্যাটরান্নি, আপনি খনন করে আমাকে আরও কয়েক ঘন্টা বাঁচিয়েছেন! আমি নোড-রেডিস ডক্স এবং আক্ষরিকভাবে সময় ডুবে 5 ঘন্টা এটি কোথাও দেখতে পেলাম না। আমার প্রশংসা এই মুহুর্তে সীমা ছাড়াই।
ghayes

সমস্ত তাত্ত্বিকভাবে ভাল শোনাচ্ছে তবে একটি ব্যবহারিক উদাহরণ নিন, আপনার কাছে একটি JSON এপিআই রয়েছে যা আপনি প্রতি 20 সেকেন্ড পরে জিজ্ঞাসা করেন যা অ্যারে রিটার্ন দেয়, আপনি এটি ক্যাশে রাখতে চান, আপনি কি এখনও রেডিসের সাথে যেতে পারবেন? এই অ্যারের মাধ্যমে একটি অস্পষ্ট অনুসন্ধানও করতে হবে
পাইরেটঅ্যাপ

15

আমি সত্যিই কাউচডিবি পছন্দ করি। এটি কিছুটা শেখার বক্ররেখা, তবে কীভাবে সেগুলি ব্যবহার করতে হয় তা বুঝতে পারার পরে দৃশ্যগুলি সত্যই শক্তিশালী। গিথুব এবং এনপিএম এ ক্রেডল নামে একটি মডিউল রয়েছে যা কাজ করা সত্যই সহজ। আমি এটি কত দ্রুত তা পরীক্ষা করতে সক্ষম হইনি, তবে এটি সত্যিই নমনীয় (আপনি চাইলে ব্রাউজারেও আপনার ডেটা অ্যাক্সেস করতে পারেন)।

এখানে প্রধান সমস্যাটি হ'ল ডাটাবেস ডিজাইনটি আপনার অ্যাপ্লিকেশনটির জন্য অর্থবোধ করে। আপনার কি এমন ডেটা রয়েছে যা প্রকৃতির মূলত মূল-মূল? যদি তা হয় তবে রেডিস ব্যবহার করুন। আপনার কাছে এমন ডেটা রয়েছে যেখানে সমস্ত নথির একই ক্ষেত্র অগত্যা থাকে? যদি তা হয় তবে কাউচডিবি'র মতো কোনও নুএসকিউএল ডাটাবেস ব্যবহার করুন।

ব্লকিং ডাটাবেস ব্যবহারের পরবর্তী খারাপ জিনিসটি আপনার ডেটার জন্য ভুল ডাটাবেস ব্যবহার করছে। কাউচডিবি অ্যাপাচি দ্বারা পরিচালিত হয়, সুতরাং আপনি জানেন যে এটি ভাল মানের, তবে এটি যদি আপনার ডেটা কোনও এসকিউএল টেবিল বা একটি সাধারণ কী-মান স্টোরের মধ্যে আরও তাত্পর্যপূর্ণ করে তোলে তবে এটি ব্যবহার করা বোধগম্য নয়।

আপনার ব্যবহারের ক্ষেত্রে চিন্তা করুন। আপনি কি পুরো টেক্সট অনুসন্ধান করতে চান, কেবল কী দ্বারা ডেটা পাবেন, বা অনুরূপ বৈশিষ্ট্যযুক্ত নথিগুলির রেঞ্জ পেতে চান?


8

নোড.জেএস এর জন্য অধ্যবসায় , উচ্চ স্তরের স্থায়িত্ব / ডাটাবেস সিস্টেমটি পরীক্ষা করতে পারে

চেঞ্জলগ.কম থেকে :

প্রসেসরেশন হ'ল প্রসেস রানের মধ্যে থাকা ডেটা ধরে রাখার জন্য একটি উচ্চ স্তরের এপিআইকে মঞ্জুরি দেওয়ার একটি প্রকল্প। লক্ষ্যটি হ'ল ব্যাকেন্ডগুলি সমর্থন করা যা সহজেই ব্যবহারযোগ্য, শক্তিশালী, নমনীয় বা সম্ভব হলে উপরের সমস্তগুলি সমর্থন করে।

সমর্থিত ডাটাবেসের মধ্যে রয়েছে:

  • PostgreSQL - একটি এন্টারপ্রাইজ স্তর সম্পর্কিত সম্পর্কিত ডাটাবেস। ড্রাইভারটি খাঁটি জাভাস্ক্রিপ্টে প্রয়োগ করা হয়েছে এবং পোস্টগ্র্রেএসকিউএল ওয়্যার প্রোটোকলটি ব্যবহার করে টিসিপির মাধ্যমে যোগাযোগ করে।
  • স্ক্লাইটাইট 3 - একটি সহজ, দ্রুত, সার্ভার-কম রিলেশনাল ডাটাবেস। এই ড্রাইভারটি কমান্ড-লাইন স্ক্লাইট 3 প্রোগ্রামের চারপাশে একটি মোড়ক। এর পথে স্কাইলাইট 3 থাকা দরকার। যোগাযোগ অত্যন্ত দ্রুত, তবে প্রকারগুলি খুব সুনির্দিষ্ট নয়। কেবলমাত্র স্ট্রিং এবং নালগুলি ফিরে এসেছে।
  • মঙ্গোডিবি - একটি স্কেলযোগ্য, উচ্চ-কর্মক্ষমতা, ওপেন সোর্স, স্কিমা-মুক্ত, ডকুমেন্ট-ভিত্তিক ডাটাবেস। এই ড্রাইভারটি জাভাস্ক্রিপ্টে তারের প্রোটোকল প্রয়োগ করে এবং টিসিপির মাধ্যমে সার্ভারের সাথে যোগাযোগ করে।
  • JSON-DB - একটি হোমগ্রাউন সিস্টেম স্কিমা মুক্ত, ডকুমেন্ট-ভিত্তিক ডাটাবেস যা JSON অবজেক্টযুক্ত সহজ ফ্ল্যাট ফাইল ব্যবহার করে। নোড এবং একটি ফাইল সিস্টেম ব্যতীত এর কোনও প্রয়োজন নেই। এটি পুরোপুরি বাস্তবায়িত হলে পারফরম্যান্স নির্ধারণ করতে হবে।

13
জেদীটি মার্চ ২০১০ সাল থেকে আপডেট করা হয়নি এবং ০.০.৪ প্রকাশে রয়েছে, সুতরাং মনে হয় এটি পরিত্যাগ করা হতে পারে।
অভাব 19


3

আমি নিশ্চিত না যে সঠিক সমাধানটি কেবলমাত্র আপনার ওয়েব স্ট্যাকের সাথে একটি ডেটাবেস ম্যাপিংয়ে ফোকাস করা, বরং অ্যাপ্লিকেশন-নির্দিষ্ট প্রয়োজনীয়তা বিবেচনা করে।

আপনি কি নিদর্শনগুলির জন্য টুইটার ফিড বা অন্যান্য উচ্চ-ভলিউম ডেটা বিশ্লেষণ করছেন, তবে লেনদেনিক সহায়তা প্রয়োজন নেই? তারপরে সত্যিই দ্রুত কিছু বাছাই করুন।

আপনি কি কেবল কয়েকটি টেবিলে কিছু সত্যিকারের প্রাথমিক তথ্য সংরক্ষণ করতে চান এবং এটি বর্তমানে কোনও "এন্টারপ্রাইজ ফোকাসড" অ্যাপ্লিকেশন নয়? তারপরে শিখতে শীতল কিছু চয়ন করুন।

হতে পারে আপনি কোনও ক্লায়েন্টের পক্ষে সত্যই গুরুত্বপূর্ণ ডেটা সঞ্চয় করতে চলেছেন, শক্তিশালী, লেনদেনের প্রয়োজন, এবং রিমোট হোস্টিং সুবিধা ইত্যাদির লাইভ প্রতিলিপি থাকতে পারে। তারপরে সম্ভবত পোস্টগ্র্যাস্কিলের মতো কিছু দেখুন। এটি পাশাপাশি আয়নাও দেবে না, তবে নোড.জেএস ড্রাইভারটি বেশ ভালভাবে কাজ করে এবং আপনি যদি এসকিএল থেকে মৃত্যুর সাথে ভয় পান না তবে এটি আপনার / আউট খুব সহজেই যা চান তা পেয়ে যায়।

আমার নিজের মতামত হিসাবে, আমি মনে করি নোড.জেএস (পিএইচপি / জাভাতে বনাম প্রথাগত কাঠামো) এর মতো একটি নতুন স্ট্যাকের সাথে যাওয়া যথেষ্ট পরিমাণে "নতুন" জটিলতা যুক্ত করছে যা একসাথে অতিরিক্ত স্তর যুক্ত করা উচিত নয়। এটি একটি ভাল নিবন্ধ যা আলোচনা করে যে:

http://nodeguide.com/convincing_the_boss.html


2

আমি আমার অভিজ্ঞতা থেকে কথা বলব: কাউচডিবি একটি নির্দিষ্ট শিক্ষার বক্ররেখা নিয়ে আসে, যেখানে মঙ্গোডিবি আমার কাছে শিখতে এবং সেটআপ করা খুব সহজ বলে মনে হয়েছিল। আমি কখনও রেডিস ব্যবহার করিনি। আমি মঙ্গোডিবি-এর পরামর্শ দিই - তবে এটি নির্লজ্জ ফ্যানবায়িজম - আমার কোনও সংখ্যা নেই, হেই, কেবলমাত্র ব্যবহারের সহজতার দাবিদার claims


1

নোংরা আরেকটি ফ্ল্যাট-ফাইল কী-মান স্টোর। নামটি যেমন বোঝায়, এটি সহজ এবং দ্রুত ক্ষেত্রে নমনীয় কিন্তু কার্যকর সমাধান। আমি লেখক নই :)


1

আরও কিছু বিবেচনা করুন:

গ্লোবাল: http://globalsdb.org

জিটি.এম ( একটি সূচনা পয়েন্টের জন্য https://github.com/robtweed/node-mwire দেখুন )

এম / ডিবি (সিম্পলডিবি এর একটি ওপেন সোর্স ক্লোন): https://github.com/robtweed/node-mdb এবং আপনি এটি ব্যবহারের জন্য নোড.জেএস সিম্পলডিবি ক্লায়েন্ট ব্যবহার করতে পারেন: https://github.com/rjrodger/simpledb


0

আমি কাউচডিবি খুব সহজেই আয়ত্ত করতে পেলাম । ইন্টারনেটে প্রচুর ইবুক উপলব্ধ রয়েছে যা আপনাকে নোড.জেএস সহ কাউচডিবি কীভাবে ব্যবহার করবেন তা শিখিয়ে দেবে ।

আমি এই বইটি কাউচডিবি শেখার জন্য খুব দরকারী বলে মনে করেছি।

নোড.জেএস সহ কাউচডিবি ব্যবহারের জন্য, আমি ন্যানো মডিউলটি ব্যবহার করি ।

CouchDB পারেন হোস্ট করা যাবে Iriscouch বা Cloudant

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.