ডকুমেন্ট ডাটাবেস বনাম রিলেশনাল ডাটাবেস: কীভাবে নির্বাচন করবেন?


16

আমি একজন এসকিউএল লোক, তবে আমি জানি যে কেবল এসকিউএল ডাটাবেস নেই - বেশিরভাগ ক্ষেত্রে ডকুমেন্ট-ডাটাবেস। বেশিরভাগ প্রযুক্তির মতোই প্রতিটি প্রযুক্তির জন্য প্রো এবং কনস রয়েছে।

আমি কিছু নিবন্ধ পড়েছি, তবে সেগুলি খুব তাত্ত্বিক ছিল। আমি যা চাই তা দুটি বাস্তব ঘটনা:

  1. যখন সম্পর্কিত থেকে ডকুমেন্ট-ডাটাবেস-এ পরিবর্তন হয় একটি উন্নতি দেয়
  2. যখন নথি থেকে রিলেশনাল-ডাটাবেস-এ স্যুইচ একটি উন্নতি দিয়েছে

উন্নতি এমন কোনও বিষয় যা উন্নত প্রোগ্রাম করে তোলে - উন্নয়নের কম সময়, স্কেলাবিলিটি, পারফরম্যান্স, প্রোগ্রামিং সম্পর্কিত যে কোনও কিছুই। ২ এর জন্য একটি সতর্কতা রয়েছে: "রিলেশনাল ডেটাবেসে ফিরে যাওয়া কারণ সকলেই এসকিউএল জানেন" এর মতো গল্পগুলি ভাল নয়


8
ভুল পদ্ধতির। এটি "পারফরম্যান্স" বা "স্কেলাবিলিটি" সম্পর্কে নয়। আপনি সমাধান করতে চাইছেন এমন কোন মডেলটি সেই সমস্যার সাথে সম্পর্কিত। আপনি সম্ভবত এই ধরণের সম্পর্কের জন্য বিভিন্ন ধরণের সমস্যার জন্য উপযুক্ত নয় এমন ধারণাটি মঞ্জুর করার জন্য আপনার প্রশ্নটি আপডেট করতে চাইতে পারেন।
এস .লট

2
@ এস.লোট, পছন্দটি প্রায়শই পারফরম্যান্সের একটি। বিবেচনা করুন যে কোনও রিলেশনাল ডিবি সাধারণ ডকুমেন্ট ডিবি হিসাবে ব্যবহার করা যেতে পারে - কেবল পারফরম্যান্সই একটি স্বতন্ত্র বৈশিষ্ট্য হবে।
এডিএ-কিএ মার্ট-ওরা-y

আমি আমার প্রশ্নটির উচ্চারণ করেছি যাতে এটি কোনওভাবেই লোড না হয়।
জোহান বুরেট

2
@ এডিএ-কিএ মর্ট-ওরা-ওয়াই: "যে কোনও রিলেশনাল ডিবি সাধারণ ডকুমেন্ট ডিবি হিসাবে ব্যবহার করা যেতে পারে"। এটি অবশ্যই ভুল হতে পারে বা লোকেরা কোনও বিকল্প আবিষ্কার করতে পারে নি। "শুধুমাত্র পারফরম্যান্স একটি স্বতন্ত্র বৈশিষ্ট্য হবে"। কেবলমাত্র সত্য যদি আপনি ধরে নেন যে রিলেশনাল মডেল সবকিছু সমানভাবে করে does এটি যদি সমস্ত কিছু করে, তবে বিকল্প নেই। এখনো. আমাদের বিকল্প আছে। অনেকগুলি সমস্যা রয়েছে (যেমন শ্রেণিবৃত্তি) যা সম্পর্কিত মডেলটি পুরোপুরি ভাল ফিট করে না , এবং চালাক কৌশলগুলি প্রয়োজন। অথবা একটি বিকল্প ডেটা মডেল।
এস .লট

"কিছু নিবন্ধ পড়ুন"? দয়া করে কিছু লিঙ্ক বা শিরোনাম বা রেফারেন্স বা উদ্ধৃতি সরবরাহ করুন। আপনার কাছে "খুব তাত্ত্বিক" অর্থ কী তা আমরা জানি না।
এস .লট

উত্তর:


15

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

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

অ্যামাজনের ডায়নামো সম্পর্কে একটি ভাল ব্লগ পোস্ট রয়েছে যা বিতরণকৃত নোএসকিউএল ডাটাবেসের একটি ভাল ভূমিকা।

এখন, নোএসকিউএল শব্দটি খুব বিস্তৃত তাই অনেক নোএসকিউএল ডাটাবেস রয়েছে যা বিতরণ করা হয়নি। তবে তারা অন্যান্য সমস্যার সমাধান করে। উদাহরণস্বরূপ Neo4j - একটি গ্রাফ ডাটাবেস এমন এক ধরণের প্রশ্নের উপর ভাল যা are তিহ্যবাহী আরডিবিএমএস অনুকূল নয় ized বা আপনার ক্ষেত্রে যেমন একটি ডকুমেন্ট ডাটাবেস, যেখানে আপনাকে কিছু নথির জন্য কিছু ক্ষেত্র যুক্ত করতে চাইলে স্কিমা পরিবর্তন করতে হবে না। অন্য কথায় একটি ডকুমেন্ট ডাটাবেস ভাল যখন বেশিরভাগ পোস্টের (দস্তাবেজগুলির) বিভিন্ন ক্ষেত্র থাকে তাই পূর্বনির্ধারিত কলামগুলির সাথে একটি সম্পর্কিত টেবিল ব্যবহারযোগ্য না হয়।

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


+1, সম্মত, নমনীয়তা আপনার যদি না দিতে হয় তবে অর্থ প্রদানের বিশাল মূল্য।
maple_shaft

12

ডেটাবেস নির্ধারণ করার জন্য আমার কাছে একটি সহজ পদ্ধতি রয়েছে যা ডেটা সেরা ফিট করে।

আমি কেবল নিজেকে জিজ্ঞাসা করি: ধরে নিচ্ছি আমার কোনও ডাটাবেস নেই, আমি কি ডকুমেন্ট হিসাবে সর্বাধিক এবং গুরুত্বপূর্ণ ডেটা সংরক্ষণ করব বা আমি সেগুলিকে একটি স্প্রেডশীটে সংরক্ষণ করব?

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

এছাড়াও, যখন আপনি কোনও সাধারণ কাঠামো খুঁজে পাচ্ছেন না, কোনও নুএসকিউএল ডাটাবেস এই কাজের জন্য সবচেয়ে উপযুক্ত।

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

সুতরাং, আপনার উভয় প্রশ্নের ठोस এবং সহজ উত্তর দেওয়ার জন্য: এটি ডেটার উপর নির্ভর করে।

যখন সম্পর্কিত থেকে ডকুমেন্ট-ডাটাবেস-এ পরিবর্তন হয় একটি উন্নতি দেয়

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

যখন নথি থেকে রিলেশনাল-ডাটাবেস-এ স্যুইচ একটি উন্নতি দিয়েছে

ঠিক আছে, উদাহরণস্বরূপ, যখন ডেটা বেশিরভাগ স্পষ্ট সম্পর্কের সাথে টেবিলের মতো আকারে থাকে এবং আপনার সততার গ্যারান্টি দেওয়া দরকার।


2
স্প্রেডশিট বনাম ডকুমেন্ট সাদৃশ্য জন্য +1 - বিশাল সহায়তা - ধন্যবাদ।
এইচডিউভ

10

আমাদের আপেক্ষিক মডেলটি ছেড়ে দিতে হয়েছিল কারণ আমরা যে ডেটা পাচ্ছিলাম তার কোনও সাধারণ, স্পষ্ট, স্থির, স্থিতিশীল স্কিমা ছিল না।

ব্যবহারকারী - এবং ব্যবহারকারী গল্পগুলির - একটি স্থির, স্থিতিশীল স্কিমা ছিল না।

আমরা একটি স্থির, স্ট্যাটিক, আরডিবিএমএস স্কিমা চাপিয়ে দেওয়ার চেষ্টা করেছি, তবে এটি একটি ভুল ছিল।

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

যদি আমরা প্রতিটি রেকর্ডকে উপাদানগুলির একটি সাধারণ উপসেট এবং অতিরিক্ত ডেটা উপাদানগুলির একটি অনন্য (পাশাপাশি অসুস্থ-সংজ্ঞায়িত) সংগ্রহ সহ "ডকুমেন্ট" হিসাবে দেখে থাকি , তবে আমরা অনেক বেশি খুশি।

ডেটা উপাদানগুলির অ-সংজ্ঞায়িত সংগ্রহ হ'ল ব্যবহারকারীরা তাদের ব্যবহারের ক্ষেত্রে প্রকৃতপক্ষে যা প্রয়োজন।

রিলেশনাল মডেলের স্থির, স্থিতিশীল স্কিমাটি আমাদের ব্যবহারের ক্ষেত্রে ফিট করে না।


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