উত্তর:
রিলেশনাল ডাটাবেস enforces ACID । সুতরাং, আপনার কাছে স্কিমা ভিত্তিক লেনদেন ভিত্তিক ডেটা স্টোর থাকবে। এটি বাস্তব বিশ্বের অ্যাপ্লিকেশনগুলির 99% জন্য প্রমাণিত এবং উপযুক্ত। আপনি ব্যবহারিকভাবে রিলেশনাল ডাটাবেসগুলির সাথে কিছু করতে পারেন।
তবে, যখন উচ্চ উচ্চ উপলব্ধতার ডেটা স্টোর আসে তখন গতি এবং স্কেলিংয়ের সীমাবদ্ধতা রয়েছে। উদাহরণস্বরূপ, গুগল এবং অ্যামাজনের বড় ডেটা সেন্টারে টেরাবাইট ডেটা রয়েছে। আরডিবিএমগুলির ব্লকিং / স্কিমা / লেনদেনের প্রকৃতির কারণে অনুসন্ধান এবং সন্নিবেশ করানো এই পরিস্থিতিতে পারফরম্যান্স নয়। এ কারণেই তারা বিশাল পারফরম্যান্স লাভ এবং স্কেলিবিলিটির জন্য তাদের নিজস্ব ডেটাবেসগুলি (প্রকৃতপক্ষে কী-মান স্টোর) প্রয়োগ করেছে।
নোএসকিউএল ডাটাবেসগুলি দীর্ঘকাল ধরে রয়েছে - কেবল শব্দটি নতুন। কিছু উদাহরণ গ্রাফ, অবজেক্ট, কলাম, এক্সএমএল এবং নথি ডাটাবেস।
আপনার 2 য় প্রশ্নের জন্য: একই সাইটে উভয় ব্যবহার করা ঠিক আছে কি?
কেন না? উভয়ই বিভিন্ন উদ্দেশ্য সঠিকভাবে পরিবেশন করে?
নোএসকিউএল সমাধানগুলি সাধারণত কোনও সমস্যা সমাধানের জন্য বোঝানো হয় যে রিলেশনাল ডেটাবেসগুলি হয় উপযুক্তভাবে উপযোগী নয়, ব্যবহার করার জন্য খুব ব্যয়বহুল (যেমন ওরাকল) বা আপনাকে এমন কোনও কিছু প্রয়োগ করতে হবে যা যাইহোক আপনার ডিবি এর সম্পর্কিত সম্পর্ককে ভঙ্গ করে।
সুবিধাগুলি সাধারণত আপনার ব্যবহারের জন্য সুনির্দিষ্ট, তবে আপনি যদি কোনও আরডিবিএমএসে আপনার ডেটা মডেলিংয়ের ক্ষেত্রে কোনও সমস্যা না করেন তবে আপনি নোএসকিউএল চয়ন করার কোনও কারণ আমি দেখতে পাচ্ছি না।
আমি নিজে মংগাডিবি এবং রিয়াককে নির্দিষ্ট সমস্যার জন্য ব্যবহার করি যেখানে কোনও আরডিবিএমএসের ব্যবহারযোগ্য সমাধান নয়, আমি মাইএসকিউএল (বা পরীক্ষার জন্য এসকিউএলাইট) ব্যবহার করি all
আপনি যদি প্রয়োজন একটি NoSQL ডিবি আপনি সাধারণত এটা সম্পর্কে জানেন, সম্ভব কারণ আছে:
আপনার যদি কোনও নোএসকিউএল সমাধানের প্রয়োজন না হয় তবে মনে রাখবেন যে এই সমাধানগুলি কোনও আরডিবিএমএসের প্রতিস্থাপন হিসাবে নয় বরং বিকল্প হিসাবে যেখানে পূর্বের ব্যর্থতা এবং আরও গুরুত্বপূর্ণ যে তারা তুলনামূলকভাবে নতুন যেমন তাদের এখনও প্রচুর বাগ রয়েছে এবং অনুপস্থিত বৈশিষ্ট্য।
ওহ, এবং দ্বিতীয় প্রশ্নটি সম্পর্কে অন্যের সাথে একযোগে যে কোনও প্রযুক্তি ব্যবহার করা পুরোপুরি ঠিক আছে, তাই আমার অভিজ্ঞতা থেকে পুরোপুরি মঙ্গোডিবি এবং মাইএসকিউএল যতক্ষণ না তারা একই মেশিনে না থাকে ততক্ষণ একসাথে সূক্ষ্মভাবে কাজ করে
মার্টিন ফওলারের একটি দুর্দান্ত ভিডিও রয়েছে যা নোএসকিউএল ডাটাবেসের একটি ভাল ব্যাখ্যা দেয়। লিঙ্কগুলি সেগুলি ব্যবহার করার জন্য সরাসরি তার কারণগুলিতে যায় তবে পুরো ভিডিওটিতে ভাল তথ্য রয়েছে।
আপনার কাছে প্রচুর পরিমাণে ডেটা রয়েছে - বিশেষত যদি আপনি কোনও শারীরিক সার্ভারে এটি পুরোপুরি ফিট করতে না পারেন কারণ নোএসকিউএল ভাল স্কেল করার জন্য ডিজাইন করা হয়েছিল।
অবজেক্ট-রিলেশনাল ইম্পিডেন্সের মিল নেই - আপনার ডোমেন অবজেক্টগুলি রিলেশনাল ডেটাবেস স্কিমে ভাল মানায় না। নোএসকিউএল আপনাকে নথি (বা গ্রাফ) হিসাবে আপনার ডেটা অবিচ্ছিন্ন রাখতে দেয় যা আপনার ডেটা মডেলটির সাথে আরও ঘনিষ্ঠভাবে ম্যাপ করতে পারে।
নোএসকিউএল হ'ল ডাটাবেস সিস্টেম যেখানে ডেটা ডকুমেন্টে (মঙ্গোডিবি), কী-মান জুটি (মেমক্যাচে, রেডিস), গ্রাফ স্ট্রাকচার ফর্ম (নিও 4 জ) তে সজ্জিত।
সম্ভবত এখানে "NoSQL এর জন্য কখন যাবেন" এর জন্য সম্ভাব্য প্রশ্ন এবং উত্তর রয়েছে:
নমনীয় স্কিমা প্রয়োজন বা ডেটার মতো গাছের সাথে ডিল করুন?
সাধারণত, চৌকস বিকাশে আমরা সমস্ত প্রয়োজনীয়তা অবগত না করেই সিস্টেম ডিজাইনিং শুরু করি, যেখানে পরবর্তী সময়ে ডেটাবেস সিস্টেমের সময় ঘন ঘন ডিজাইনের পরিবর্তনের প্রয়োজন হতে পারে, এমভিপি (ন্যূনতম চলনযোগ্য পণ্য) প্রদর্শন করে। অথবা আপনি ডেটা স্কিমা নিয়ে কাজ করছেন যা প্রকৃতির গতিশীল। যেমন সিস্টেম লগস, খুব সুনির্দিষ্ট উদাহরণ হ'ল এডাব্লুএস ক্লাউডওয়াচ লগ।
ডেটা সেট বিশাল / বড়?
হ্যাঁ নোএসকিউএল ডাটাবেস অ্যাপ্লিকেশনগুলির জন্য আরও ভাল প্রার্থী যেখানে ডাটাবেসটির কার্যকারিতা নিয়ে আপস না করেই মিলিয়ন বা এমনকি কয়েক বিলিয়ন রেকর্ড পরিচালনা করা দরকার।
আরডিএমএসের বিপরীতে স্কেলিংয়ের মধ্যে বাণিজ্য বন্ধ করুন , নোএসকিউএল ডাটাবেস এখানে এবং সেখানে ছোট ডেটা হারাতে পারে (দ্রষ্টব্য: সম্ভাব্যতা .x%) তবে পারফরম্যান্সের ক্ষেত্রে এটি স্কেল করা সহজ। উদাহরণ: এটি তাত্ক্ষণিক বার্তাপ্রেরণ অ্যাপে অনলাইনে থাকা লোকদের, ডিবিতে টোকেনগুলি, ওয়েব সাইট ট্র্যাফিকের পরিসংখ্যানগুলিতে লগ করার জন্য এটি ভাল।
জিওলোকেশন অপারেশন সম্পাদন করা: জিওকিউরিং ও জিওলোকেশন অপারেশনগুলি করার জন্য মঙ্গোডিবি হ্যাশ সমৃদ্ধ সমর্থন। আমি মঙ্গোডিবি-র এই বৈশিষ্ট্যটি সত্যিই পছন্দ করেছি।
সংক্ষেপে, মঙ্গোডিবি অ্যাপ্লিকেশনগুলির জন্য দুর্দান্ত ফিট যেখানে আপনি বড় আকারে গতিশীল স্ট্রাকচার্ড ডেটা সঞ্চয় করতে পারেন।
প্রশ্নের জবাব দিতে কিছু প্রয়োজনীয় তথ্য অনুপস্থিত: কোন ব্যবহারের ক্ষেত্রে ডাটাবেসগুলি আবরণ করতে হবে? জটিল বিশ্লেষণগুলি কি বিদ্যমান ডেটা ( ওএলএপি ) থেকে সম্পাদন করতে হবে বা অ্যাপ্লিকেশনটিতে অনেকগুলি লেনদেন ( ওলটিপি ) প্রক্রিয়া করতে সক্ষম হতে হবে ? ডাটা স্ট্রাকচার কী? এটি প্রশ্নের সময় শেষে খুব দূরে।
আমার দৃষ্টিতে, তাদের পিছনে কী রয়েছে তা না জেনে গা bold় গুঞ্জনের জন্য ভিত্তি করে প্রযুক্তিগত সিদ্ধান্ত নেওয়া ভুল wrong নোএসকিউএল এর স্কেলিবিলিটির জন্য প্রায়শই প্রশংসা করা হয়। তবে আপনাকে এটিও জানতে হবে যে অনুভূমিক স্কেলিং (বেশ কয়েকটি নোডেরও বেশি) এরও দাম রয়েছে এবং এটি নিখরচায় নয়। তারপরে আপনাকে চূড়ান্ত ধারাবাহিকতার মতো সমস্যাগুলি মোকাবেলা করতে হবে এবং ডেটাবেস পর্যায়ে সমাধান করতে না পারলে কীভাবে ডেটা দ্বন্দ্ব সমাধান করতে হবে তা নির্ধারণ করতে হবে। তবে এটি সমস্ত বিতরণ করা ডাটাবেস সিস্টেমে প্রযোজ্য।
নোএসকিউএলে "স্কিমা কম" শব্দটি নিয়ে বিকাশকারীদের আনন্দ শুরুতেই খুব বড়। প্রযুক্তিগত বিশ্লেষণের পরে এই বুজওয়ার্ডটি দ্রুত ছিন্ন হয়ে যায়, কারণ এটি লেখার সময় সঠিকভাবে স্কিমা প্রয়োজন হয় না, তবে পড়ার সময় প্লে হয়ে আসে। এজন্য এটি সঠিকভাবে "পড়ার জন্য স্কিমা" হওয়া উচিত। এটি নিজের বিবেচনার ভিত্তিতে ডেটা লিখতে সক্ষম হতে লোভনীয় হতে পারে। তবে বিদ্যমান ডেটা থাকলেও আমি কীভাবে পরিস্থিতিটি মোকাবিলা করব তবে অ্যাপ্লিকেশনটির নতুন সংস্করণটি আলাদা স্কিমার প্রত্যাশা করবে?
ডকুমেন্ট মডেল (উদাহরণস্বরূপ মঙ্গোডিবিতে) ডেটা মডেলগুলির জন্য উপযুক্ত নয় যেখানে তথ্যের মধ্যে অনেকগুলি সম্পর্ক রয়েছে। যোগদানের জন্য অ্যাপ্লিকেশন পর্যায়ে কাজ করতে হবে, যা অতিরিক্ত প্রচেষ্টা এবং আমি কেন ডেটাবেসগুলিতে এমন কিছু প্রোগ্রাম করব।
যদি আপনি এই যুক্তিটি তৈরি করেন যে গুগল এবং অ্যামাজন তাদের নিজস্ব ডাটাবেসগুলি তৈরি করেছে কারণ প্রচলিত আরডিবিএমএস আর ডেটা বন্যাকে পরিচালনা করতে পারে না, আপনি কেবল এটিই বলতে পারেন: আপনি গুগল এবং আমাজন নন। এই সংস্থাগুলি হ'ল স্পিয়ারহেইড, প্রায় 0.01% পরিস্থিতি যেখানে traditionalতিহ্যবাহী ডাটাবেসগুলি এখন আর উপযুক্ত নয়, তবে বাকি বিশ্বের জন্য for
কি তুচ্ছ নয়: এসকিউএল প্রায় ৪০ বছরেরও বেশি সময় ধরে চলেছে এবং কয়েক মিলিয়ন ঘণ্টার বিকাশ ওরাকল বা মাইক্রোসফ্ট এসকিউএল এর মতো বড় সিস্টেমে চলে গেছে। এটি কিছু নতুন ডাটাবেস দ্বারা অর্জন করতে হবে। কখনও কখনও মঙ্গোডিবি-র কারও চেয়ে এসকিউএল অ্যাডমিন সন্ধান করাও সহজ। যা আমাদের রক্ষণাবেক্ষণ ও পরিচালনার প্রশ্নে নিয়ে আসে। এমন একটি বিষয় যা ঠিক সেক্সি নয়, তবে এটি প্রযুক্তি সিদ্ধান্তের একটি অংশ।
আরডিবিএমএস ডিজাইন থেকে বিচ্যুত করার জন্য দৃinc়প্রত্যয়ী ক্ষেত্রগুলি খুঁজতে গিয়ে আমি এই প্রশ্নটি জুড়ে এসেছি।
জুলিয়ান ব্রাউন এর একটি দুর্দান্ত পোস্ট রয়েছে যা বিতরণ ব্যবস্থার সীমাবদ্ধতার বিষয়ে আলোকপাত করে। ধারণাটিকে ব্রিওয়ারের সিএপি উপপাদ্য বলা হয় যা সংক্ষেপে বলা যায়:
বিতরণ সিস্টেমের তিনটি প্রয়োজনীয়তা হ'ল: ধারাবাহিকতা, প্রাপ্যতা এবং পার্টিশন সহনশীলতা (সংক্ষেপে সিএপি)। তবে আপনার কাছে একবারে কেবল দুটি থাকতে পারে।
এবং এইভাবে আমি নিজের জন্য এটি সংক্ষেপিত করেছি:
ধারাবাহিকতা যদি আপনি বলি দিচ্ছেন তবে আপনি আরও ভাল নোএসকিউএল-তে যান।
আমি নোএসকিউএল ডাটাবেসগুলির সাথে সমাধানগুলি ডিজাইন ও প্রয়োগ করেছি এবং এসকিউএল বা নথিভিত্তিক নোএসকিউএল-এর সাথে যাওয়ার সিদ্ধান্ত নেওয়ার জন্য আমার চেকপয়েন্ট তালিকাটি এখানে রয়েছে ।
কী করবেন না
এসকিউএল অপ্রচলিত নয় এবং কিছু ক্ষেত্রে এটি আরও ভাল সরঞ্জাম হিসাবে রয়ে গেছে। এটি কখন নথিভিত্তিক NoSQL এর ব্যবহারকে ন্যায়সঙ্গত করা শক্ত
কী করবেন
আপনার যদি এই শর্তগুলি না থাকে বা সেগুলি প্রশমিত করতে পারেন তবে এখানে 2 টি কারণ এখানে আপনি নোএসকিউএল থেকে উপকার পেতে পারেন:
অধিক তথ্য
আমার ব্লগ পোস্টগুলিতে আমি আরও বিশদে কারণগুলি ব্যাখ্যা করছি:
দ্রষ্টব্য: উপরেরটি কেবলমাত্র নথিভিত্তিক NoSQL এর ক্ষেত্রে প্রযোজ্য। আছে অন্য ধরনের NoSQL এর, যাতে অন্যান্য কারণগুলো প্রয়োজন।
একটি বিশাল সংখ্যক রিড রাইটিং অপারেশন পরিচালনা করা
আপনার যখন দ্রুত স্কেল করা দরকার তখন নোএসকিউএল ডাটাবেসের দিকে নজর দিন। এবং কখন আপনার সাধারণত স্কেল করা দরকার?
যখন আপনার ওয়েবসাইটে প্রচুর পরিমাণে পঠন-লিখন অপারেশন থাকে এবং যখন প্রচুর পরিমাণে ডেটা নিয়ে কাজ করা হয় তখন নোএসকিউএল ডেটাবেসগুলি এই পরিস্থিতিতে সবচেয়ে উপযুক্ত হয় fit যেহেতু তাদের ফ্লাইটিতে নোড যুক্ত করার দক্ষতা রয়েছে, তাই তারা আরও সামঞ্জস্য ট্র্যাফিক এবং ন্যূনতম বিলম্বের সাথে প্রচুর পরিমাণে ডেটা পরিচালনা করতে পারে।
ডেটা মডেলিংয়ের সাথে নমনীয়তা
দ্বিতীয় কিউটি বিকাশের প্রাথমিক পর্যায়ের সময়গুলি হয় যখন আপনি ডেটা মডেল, ডাটাবেস ডিজাইন সম্পর্কে নিশ্চিত নন, জিনিসগুলি দ্রুত গতিতে পরিবর্তিত হবে বলে আশা করা হচ্ছে। নোএসকিউএল ডাটাবেসগুলি আমাদের আরও নমনীয়তার প্রস্তাব দেয়।
শেষ দৃ Cons় ধারাবাহিকতা
শক্তিশালী ধারাবাহিকতা ছেড়ে দেওয়া যখন আমাদের পক্ষে ঠিক আছে এবং যখন আমাদের লেনদেনের প্রয়োজন হয় না তখন নোএসকিউএল ডাটাবেসগুলি বাছাই করা ভাল।
এর একটি ভাল উদাহরণ টুইটারের মতো একটি সামাজিক যোগাযোগের ওয়েবসাইট। যখন কোনও সেলিব্রিটির টুইট ফুঁসে উঠেছে এবং প্রত্যেকে বিশ্বজুড়ে এটি পছন্দ করছে এবং পুনরায় টুইট করছে। পছন্দের গণনাটি অল্প সময়ের জন্য কিছুটা উপরে বা নিচে গেলে কী আসে যায়?
প্রকৃত সেলিব্রিটি প্রকৃতপক্ষে যত্ন নেবে না যদি প্রকৃত ৫ মিলিয়ন ৫০০ লাইকের পরিবর্তে ব্যবস্থাটি অল্প সময়ের জন্য 5 মিলিয়ন 250 হিসাবে দেখায়।
যখন বিশ্বজুড়ে ছড়িয়ে থাকা শত শত সার্ভারে একটি বিশাল অ্যাপ্লিকেশন স্থাপন করা হয়, তখন ভৌগোলিকভাবে বিতরণ নোডগুলি বিশ্বব্যাপী sensকমত্যে পৌঁছাতে কিছুটা সময় নেয়।
যতক্ষণ না তারা conকমত্যে পৌঁছায় ততক্ষণ সত্তার মান অসামঞ্জস্যপূর্ণ। সত্তার মান অবশেষে অল্প সময়ের পরে সামঞ্জস্য হয়। এটিই হ'ল ইভেন্টের ধারাবাহিকতা।
যদিও অসঙ্গতিটির অর্থ এই নয় যে কোনও ধরণের ডেটা হ্রাস রয়েছে। এর অর্থ হ'ল সমুদ্রের অধীনে ইন্টারনেট কেবলগুলির মাধ্যমে বিশ্বব্যাপী ভ্রমণ করতে ডেটা অল্প সময় নেয় এবং বৈশ্বিক sensকমত্যে পৌঁছাতে এবং সামঞ্জস্যপূর্ণ হতে পারে।
আমরা এই আচরণটি সব সময় অনুভব করি। বিশেষত ইউটিউবে প্রায়শই আপনি 10 টি ভিউ এবং 15 টি লাইক সহ একটি ভিডিও দেখতে পাবেন। এটি কীভাবে সম্ভব?
এটা না। প্রকৃত দর্শনগুলি পছন্দগুলির চেয়ে ইতিমধ্যে বেশি। এটি কেবল দেখার গণনা অসঙ্গত এবং আপডেট পেতে কিছুটা সময় নেয়।
চলমান ডেটা অ্যানালিটিক্স
নোএসকিউএল ডাটাবেসগুলি ডেটা অ্যানালিটিক্স ব্যবহারের ক্ষেত্রেও সেরা ফিট করে যেখানে আমাদের প্রচুর পরিমাণে ডেটা প্রবাহের সাথে মোকাবিলা করতে হয়।