পোস্টগ্রিসে জিরোয়িং ওয়াল বিভাগগুলি


9

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

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

আমাদের ওয়াল সংরক্ষণাগারটি সংরক্ষণের জন্য আমরা যে জায়গার ব্যবহার করছি তা হ্রাস করার কোনও উপায় আছে? কিছু suboptimal সম্ভাবনা:

  1. ওয়াল বিভাগগুলি কোনওভাবে পুনর্ব্যবহার করা থেকে পোস্টগ্রিসকে আটকাও, তাই এটি প্রতিবার শূন্য ফাইলের সাথে শুরু হয়। দস্তাবেজগুলি নির্দেশ করে না যে এটি করার জন্য একটি বিকল্প রয়েছে তবে আমি এটি মিস করেছি।

  2. ওয়াল সেগমেন্ট ফাইলটি ব্যবহার শুরু করা / শেষ করার পরে শূন্যপদ পোস্ট করুন। আবারও, ডক্সগুলি মনে হয় না যে এটি সম্ভব।

  3. বাহ্যিকভাবে শূন্য বা কিছু ওয়াল সেগমেন্ট ফাইলগুলি ব্যবহার না করা অবস্থায় সরান। এটি কোন ফাইলগুলি নির্ধারণ করার কোনও নিরাপদ উপায় আছে?

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

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


আকর্ষণীয় সমস্যা। আপনি কি কোন অবিচ্ছিন্ন সংরক্ষণাগার ব্যবহার করছেন তা জিজ্ঞাসা করতে পারি?
dezso

@ ডিজেসো কম মন্থর হওয়া সত্ত্বেও, যতদূর সম্ভব এই ডেটা হারিয়ে যাওয়ার ঝুঁকি হ্রাস করতে এবং যে পরিবর্তনগুলি হয়েছে তার নিরীক্ষণের জন্য এটি খুব গুরুত্বপূর্ণ হিসাবে বিবেচিত। ওয়াল সংরক্ষণাগারটি হ'ল প্রতিরক্ষা একটি সর্বশেষ-প্রতিরক্ষা (খেলতে অন্যান্য কৌশলগুলিও রয়েছে) তাই এটি সস্তা রাখা ভাল হবে।
ডেভ টার্নার

উত্তর:


5

সংস্করণ 9.4-এ শুরু করে, এটি এখন স্বয়ংক্রিয়ভাবে ডাব্লু ফাইলের লেজের প্রান্তটি শূন্য করে। (আসলে এটি বেশিরভাগই শূন্য, কিছু ব্লক শিরোনাম রয়েছে যা শূন্য হয় না, তবে ফলাফলটি খুব সংকোচনযোগ্য)।

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

আপনি যদি 9.3 ব্যবহার করেন তবে আপনার ভাগ্যের বাইরে।

নোট করুন যে চেকপয়েন্টগুলি অন্তর্নিহিতভাবে লগ ফাইল স্যুইচগুলির কারণ হয় না। এটি সম্ভবত সংরক্ষণাগার_আরআউটআউট যা স্যুইচগুলির কারণ।


ডি ওহ। হ্যাঁ, আমরা 9.3 এ চলেছি, সুতরাং এই দুটি সমাধানের মধ্যে ক্র্যাকটি পড়ে গেছে। এবং হ্যাঁ, দুঃখিত, আপনি ঠিক বলেছেন archive_timeoutযে সুইচগুলির কারণ। ধন্যবাদ, ওপি সংশোধন করেছেন।
ডেভ টার্নার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.