NoSQL বনাম অন্যান্য এসকিউএল ড্রুপাল সেটআপগুলি


14

দ্রুপালে মাইএসকিউএল, পোস্টগ্রি এসকিউএল বা এমএসএসকিউএল-র উপর নোএসকিউএল (প্রাক্তন মঙ্গোডিবি) চালানোর সুবিধা কী কী? কেবল স্টোরেজ ব্যবহার করে কী সুবিধা পেয়েছে বা কিছু ড্রুপাল কনফিগারেশন পরিবর্তন করার দরকার আছে?


এটি এমন একটি প্রশ্ন যা ক্যারোলি নাগেসি একটি "প্রামাণিক" উত্তর দিতেন। তিনি অবশ্যই দ্রুপালের সাথে মঙ্গোডিবি ব্যবহারের সুবিধা জানেন।
কিমলালুনো

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

উত্তর:


13

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

ড্রুপাল 7 এর বর্তমান অবস্থায় আপনার কাছে এটি হবে:

  • এসকিউএলতে সঞ্চিত সত্তার বেস টেবিল (যেমন ব্যবহারকারীদের সারণী, নোড টেবিল ইত্যাদি)
  • সমস্ত ক্ষেত্র এসকিউএল মধ্যে সঞ্চিত
  • মুনগোডিবিতে নকল করা তাদের বেস টেবিলগুলি থেকে সত্তাগুলির সম্পত্তি

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

এই জাতীয় দ্রুত জিজ্ঞাসাটি অ্যান্টিটিফিল্ডকোয়ারী মেকানিজমকে ধন্যবাদ, উপলব্ধ সত্তা, তাদের সম্পত্তি এবং তাদের ক্ষেত্রগুলি সম্পর্কে একটি বিমূর্ত পদ্ধতিতে প্রশ্ন তৈরির উপায় thanks মূলত ডিফল্ট বাস্তবায়ন সেগুলিগুলি এসকিউএল-তে অনুবাদ করে, তবে মঙ্গোডিবি মডিউলে একটি পুরো বৈশিষ্ট্যযুক্ত বাস্তবায়ন রয়েছে যা মঙ্গোডিবি থেকে সরাসরি সেই প্রশ্নগুলি সন্তুষ্ট করতে পারে।

দেখার জন্য এন্টিফিল্ডকিউরি ব্যাকএন্ডকে ধন্যবাদ , আপনি যে সরঞ্জামগুলি ব্যবহার করেছেন সেগুলি ব্যবহার করে আপনি সহজেই এই শক্তিটি উত্তোলন করতে পারেন। একমাত্র ক্ষতিটি হ'ল সম্পর্কগুলি সমর্থিত হয় না (তবে বাস্তবে আপনাকে যেভাবেই এগুলির প্রয়োজন হয় না - এবং সত্তার বস্তুতে অতিরিক্ত ডেটা ঠেলে এবং সত্তার অতিরিক্ত বৈশিষ্ট্য হিসাবে তাদের প্রকাশ করে যোগ করার মাধ্যমে এটি কাজ করা যেতে পারে)।

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


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

আমার বক্তব্যটি হ'ল: আমাদের স্কিমাটি স্বাভাবিক করা হয়েছে এবং ফলস্বরূপ অনুসন্ধানের খুব খারাপ পারফরম্যান্স রয়েছে। ক্যোয়ারি পারফরম্যান্স উন্নত করতে আপনার স্কিমাটিকে অস্বীকৃতি জানাতে হবে। আমাদের ক্ষেত্রে মঙ্গোডিবি ব্যবহারের প্রধান সুবিধাটি হ'ল এটি কোনও ধরণের "স্বয়ংক্রিয় ডেনারমালাইজেশন ইঞ্জিন"।
ড্যামিয়েন টর্নউড

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

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

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

7

মঙ্গোডিবি এবং অনুরূপগুলি তুলনামূলকভাবে নমনীয় উপায়ে কাঠামোগত (শ্রেণিবিন্যাস) ডেটা সংরক্ষণ করার জন্য ডিজাইন করা হয়েছে।

উদাহরণস্বরূপ Drupal 7, ব্যবহার করার সময় field_sql_storage, প্রতিটি ক্ষেত্র এটির নিজস্ব নিজস্ব টেবিল পায়। আপনি যখন 10 টি ক্ষেত্র কোনও সামগ্রীর ধরণের সাথে সংযুক্ত করেন, তখন আপনি আপনার ডাটাবেসে 10 টি টেবিল দিয়ে শেষ করেন। আপনি যখন সেই নোডটি লোড field_sql_storageকরবেন , প্রতি ক্ষেত্র এবং প্রতি নোডের (বা ব্যবহার করার সময় একাধিক নোড node_load_multiple) একটি কোয়েরি কার্যকর করবে ।

আপনি যখন মংগদ্বিফিল্ড_ স্টোরেজ ব্যবহার করেন , আপনি নোডের সমস্ত ক্ষেত্র একক দস্তাবেজে সংরক্ষণ করতে এবং একক কোয়েরি সহ পেতে পারেন।

আপনি অন্যান্য জিনিস যেমন ওয়াচডগ, সেশনস, ক্যাশে, ব্লকগুলি মঙ্গোডিবিতেও সঞ্চয় করতে পারেন

আপনার এখনও মাইএসকিউএল প্রয়োজন, মোংগোডিবি এটি প্রতিস্থাপন করে না (কেবলমাত্র নির্দিষ্ট অংশের জন্য)।

আরেকটি সুবিধা হ'ল মঙ্গোডিবি দিয়ে স্কেল করা সহজ , আপনি একটি ক্লাস্টারে অনেকগুলি সার্ভার যুক্ত করতে পারেন তাদের মধ্যে ডেটা ভাগ করে নিতে।


হাই বারদির! আপনি কি জানেন যে যদি আমি কার্যকারিতার জন্য পরীক্ষার জন্য কোনও বিদ্যমান প্রাইকেতে মঙ্গোডিবিকে ছেড়ে দিই তবে আমি কোনও ফলাফল ছাড়াই মডিউলটিকে সক্ষম ও অক্ষম করব? আমি মঙ্গো চেষ্টা করতে চাই, তবে যদি এটি কাজ না করে বা কিছু না করে? এটি চেষ্টা করা নিরাপদ? (আমি জানি আপনি এটির গ্যারান্টি দিতে পারবেন না তবে বেশিরভাগ ক্ষেত্রে কী ঘটে যায় তা অবাক করি)
বেটো আভেগা

1
ভাল, একটি শুরু করার জন্য, আপনি কেবল এটি এটিকে ফেলে দিতে পারবেন না Each ), আপনি যদি ক্ষেত্রের ডেটা টেবিলগুলির বিরুদ্ধে সরাসরি জিজ্ঞাসা লিখে থাকেন তবে আপনার নিজের প্রশ্নগুলি। প্রাথমিক তুলনার জন্য নতুন ইনস্টলেশনটিতে একই কাঠামোটি পুনরায় তৈরি করা সহজ হতে পারে।
বেরদির

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

5

উপকারিতা কনস সঙ্গে আসে।

সামগ্রিকভাবে ড্রুপালকে মঙ্গোডিবিতে স্যুইচ করা যায় না, সুতরাং আপনাকে দুটি ডাটাবেস সমর্থন করতে হবে এবং তারা একসাথে ভালভাবে কাজ করছে তা নিশ্চিত করতে হবে।

অনেকগুলি মডিউল মঙ্গোদব নিয়ে কাজ করতে সক্ষম হবে না তাই আপনি আন্তঃআকক্ষীয়তা হ্রাস করবেন।

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

আমি ভেবেছিলাম আমি এর আগে উত্তর দিয়েছি, এসওতে প্রায় নকল আছে

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