বড় মেমরি পরিবেশে এসকিউএল সার্ভার টেম্পডিবি আচরণ


12

উপর পড়া এই প্রশ্নের আমাকে একটা প্রশ্ন কিছুক্ষণ আগে নাকি আমি ছিল স্মরণ করিয়ে।

আমাদের একটি এসকিউএল সার্ভার রয়েছে যার 512 জিবি র‌্যাম রয়েছে, মূল ডাটাবেসটি 450 জিবি। আমরা টেম্পডিবিতে প্রচুর পরিমাণে ক্রিয়া দেখি (ঠিক আছে, আমি মনে করি এটি "যথেষ্ট পরিমাণে কর্ম" - এটি নাও হতে পারে!)। আমি র‌্যামডিস্ক প্লাস সার্ভারের একটি ডেমো সংস্করণ ইনস্টল করেছি, একটি 50 গিগাবাইট র‌্যামড্রাইভ তৈরি করেছি, এতে টেম্পিডিবি নির্দেশ করেছি এবং কার্য সম্পাদনের কোনও উন্নতি দেখিনি।

টেম্পডিবিতে লেখার ফলে কি সবসময় ডিস্কে প্রকৃত দৈহিক লেখার ফলাফল আসে, বা উইন্ডোজ ফাইল সিস্টেম ক্যাশে যেমন দেরি করে লেখার জন্য এসকিউএল সার্ভার দ্বারা টেম্পডিবি ক্যাশে লেখেন?

এই দৃশ্যে কোনও র‌্যামডিস্ক অর্থহীন?

আমি জানি যে এসকিউএল সার্ভার 6.5-এ টেম্পডিবি-ইন-রামের পক্ষে সমর্থন ছিল তবে আমি দেখতে পাচ্ছি যে এটি অনেক দিন আগে বন্ধ ছিল!

উত্তর:


19

টেম্পডিবিতে লেখার ফলে কি সবসময় ডিস্কে প্রকৃত দৈহিক লেখার ফলাফল আসে, বা উইন্ডোজ ফাইল সিস্টেম ক্যাশে যেমন দেরি করে লেখার জন্য এসকিউএল সার্ভার দ্বারা টেম্পডিবি ক্যাশে লেখেন?

তারা সবসময় না? সর্বাধিক অবশ্যই না। তারা কি কখনও? হ্যাঁ তবে আদর্শ পদ্ধতির ফলস্বরূপ নয়। এখানে রেফারেন্স হল চেকপয়েন্টটি টেম্পডিবির জন্য কী করে?

একটি "ভাল আচরণ" সিস্টেমে একটি ব্যবহারকারী ডেটাবেস ফাইল লিখেছেন চেকপয়েন্টে ঘটে। খারাপ আচরণ করা সিস্টেমে লেখাগুলিও তখন ঘটবে যখন অলস লেখককে অন্য পৃষ্ঠাগুলির জন্য জায়গা তৈরি করতে বাফার পুল থেকে পৃষ্ঠাগুলি ফ্লাশ করতে হবে।

টেম্পডিবি লগ ফাইলটি %০% পূর্ণ পৌঁছে গেলে কেবল একটি চেকপয়েন্টই করা হয় - এটি সম্ভব হলে টেম্পডিবির লগকে বাড়ানো থেকে রোধ করা হয় (নোট করুন যে একটি দীর্ঘ-চলমান লেনদেন এখনও মূলত লগকে জিম্মি করে রাখতে পারে এবং এটি সাফ হওয়া থেকে রোধ করতে পারে) , যেমন একটি ব্যবহারকারী ডাটাবেসের মতো)।

তবে ডিস্কে টেম্পডিডিবি ফ্লাশ করার দরকার নেই, কারণ ক্র্যাশ পুনরুদ্ধার কখনই টেম্পডিবিতে চালানো হয় না, এটি সর্বদা শুরুতে পুনরায় তৈরি করা হয়।

টেমপ্লেড বিপর্যয়ের ঘটনায় পুনরুদ্ধার করা যায় না, এবং অলস রচনা প্রক্রিয়া (বাফার পুলের অংশ) অন্যান্য ডাটাবেস থেকে পৃষ্ঠাগুলির জন্য স্থান তৈরি করতে হয় এমন ক্ষেত্রে বাদে ডিস্কে নোংরা টেম্পিডবি পৃষ্ঠাগুলি জোর করার প্রয়োজন নেই।

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

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

অতিরিক্ত সম্পাদনা (নিম্নলিখিত মন্তব্যগুলি / পলওহাইটের সাথে চ্যাট):

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

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

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

@ পালওহাইট ব্যাখ্যা করেছেন যে আমি কোথায় ভুল ছিলাম (ধন্যবাদ পল!):

আমি মনে করি আপনি যখন জিজ্ঞাসা করছেন যে কেন কোনও ক্যোয়ারী তার ওয়ার্কস্পেস মেমরি অনুদানের চেয়ে বেশি হয়ে যায়, যখন কোনও ক্যোয়ারী কেবলমাত্র টেম্পডিবি-ইন-মেমরি ব্যবহার না করে, যদি ক্যোয়ারীটি তার অনুদানের চেয়ে আরও বেশি মেমরি ব্যবহার করে, মেমরিকে সীমাবদ্ধ করার বিন্দুটিকে পরাস্ত করে? প্রথম স্থানে অনুদান।

স্পিল স্টোরেজ মাধ্যমে লিখিতভাবে প্রকৃতপক্ষে বিশেষ। ফ্রি মেমরি ও টেম্পডিবির শূন্য চাপের ওডলসের মুখেও শারীরিক টেম্পডিবি ক্রিয়াকলাপ একটি ছিটকে পড়ে দেখা যায়।

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

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