একই সার্ভারে ইনোডিবি এবং মাইআইএসএএম টেবিলগুলি মিশ্রিত করা কি সাধারণ অভ্যাস?


21

আমি 8 জিবি র‌্যাম সহ একটি সার্ভারে প্রায় 4.5 গিগাবাইটের একক ডাটাবেস পেয়েছি। টেবিলগুলির সিংহভাগ হ'ল মাইআইসাম (প্রায় ৪.৩ গিগাবাইট), তবে আমি শীঘ্রই সেগুলির কয়েকটি ইনোডিবিতে রূপান্তর করতে চলেছি । (এটি প্রথমে সর্বাধিক লেখার-নিবিড় টেবিলগুলিতে ফোকাস করে, এটি একটি ধীর প্রক্রিয়া হতে চলেছে)।

যেখানে উভয় ধরণের স্টোরেজ ইঞ্জিন রয়েছে সেখানে কোনও ডেডিকেটেড সার্ভার চালাতে কোনও সমস্যা আছে কি?


Is there anything wrong with running a dedicated server where both types of storage engines exist? হয়তো করতে ভিন্নরূপে বা অন্য কথায় Multiple types?
জন

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

উত্তর:


18

আপনি যতক্ষণ না প্রতিটিটির কার্যকারিতা এবং কৌশলগুলি বুঝতে পারেন ততক্ষণ একই শারীরিক মেশিনে একাধিক স্টোরেজ ইঞ্জিন ব্যবহার করার ক্ষেত্রে কোনও সমস্যা নেই । সমস্ত প্লাগইন স্টোরেজ ধরণের জন্য কর্মক্ষমতা বিবেচনা, বৈশিষ্ট্যের সীমাবদ্ধতা এবং ব্যবহারের কেস রয়েছে।

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

তবুও, আপনি একই স্কিমার পাশাপাশি শারীরিক হোস্টের মধ্যে নিরাপদে একাধিক স্টোরেজ ইঞ্জিন ব্যবহার করতে পারেন।

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


4
+1 অন্য সাধারণ ব্যবহারের ক্ষেত্রে মাইআইএসএএম হ'ল টেবিলগুলির জন্য সম্পূর্ণ পাঠ্য অনুসন্ধানের প্রয়োজন হয় এবং অন্য সমস্ত টেবিলের জন্য ইনোডিবি।
আসফ


2
My "মাইএসকিউএল 5.6 বৈশিষ্ট্যগুলি" 2013-02-05 পর্যন্ত জিএ ছিল না
এলোমেলো

1
@randymelder ভাল উত্তর। "আপনার কী_বফার এবং ইনোডাব_ফুফার_পুলটি বিরোধিতা না করে" আপনাকে কীভাবে সতর্কতা অবলম্বন করা উচিত "এর অর্থ কী তা ব্যাখ্যা করতে সক্ষম হবেন?
নীল

1
আমি ভুল প্রমাণিত হতে চাই, তবে যুক্তিটি এখানে এই স্ট্যাকওভারফ্লো . com/a/6796566/5645769 এর বিপরীতে দেখায় ।
Tᴀʀᴇǫ Mᴀʜᴍᴏᴏᴅ

7

আমি আপনাকে বলতে পারি না এটি যদি একটি সাধারণ অনুশীলন হয়। আমি আমার নিজের অভিজ্ঞতা সম্পর্কে বলতে পারি।

আমি সবসময় কাজের জন্য সেরা সরঞ্জামটি ব্যবহার করি, তাই আমি সমস্ত সময় ইঞ্জিনগুলি মিশ্রিত করি। আমার বেশিরভাগ প্রকল্পগুলি মাইআইএসএএম-কে ডিফল্ট ইঞ্জিন হিসাবে ব্যবহার করে।

যখন আমার বিশেষ বৈশিষ্ট্যগুলি কেবল ইনোডিবিতে উপলব্ধ থাকে, আমি এটির জন্য যাই go

যখন কোনও টেবিলটি বেশিরভাগই কেবল পঠনযোগ্য হয় তবে আমি জ্বলজ্বল করার আগে আমি সংরক্ষণাগার ইঞ্জিনটি বেছে নিই।

মেশিন সার্ভারের পর্যাপ্ত মেমরি রয়েছে তা জেনে আমার সমস্ত অস্থায়ী ডেটা হিপ টেবিলগুলিতে সঞ্চয়।

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

অবশ্যই, আপনি অনন্য ক্যোয়ারিতে ইনোডিবি এবং মাইআইএসএএম মেশানো সততা এবং ধারাবাহিকতা সংরক্ষণ করতে পারেন নি।


সংরক্ষণাগার ইঞ্জিন সূচকে সমর্থন করে না কেন আপনি এটি সংরক্ষণাগারে সংরক্ষণ করেন।
user4951

0

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


আপনি যখন মাইআইএসএএম ব্যবহার করেন তখন কীভাবে আপনার একটি বিদেশী কী থাকতে পারে?
a_horse_with_no_name

ভুল পরিভাষা, তবে বিদেশী কী হিসাবে কাজ করে। আমি InnoDB টেবিল থেকে আইটেমটির আইডি নম্বরটি সঞ্চয় করি এবং অনুসন্ধান ফলাফলের পৃষ্ঠার সন্ধান করতে এটি ব্যবহার করি।
কেনজো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.