একটি একক ফাইলগোষ্ঠীতে বিভাজন


10

আমার আমার ডাটাবেসে কিছু খুব বড় টেবিল রয়েছে তবে এই ডেটাটির যথেষ্ট পরিমাণ "পুরানো"।

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

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

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

এটিকে অন্যভাবে বলতে গেলে, যদি ধরা যাক, আমার 80% ডেটা "পুরানো"। এসকিউএল সার্ভারের অন্তর্নিহিত ফাইলগুলির 100% অ্যাক্সেস এড়াতে এবং কেবলমাত্র 20% অ্যাক্সেস এড়ানোর জন্য এমন কোনও ব্যবস্থা আছে যার মধ্যে "নতুন" ডেটা রয়েছে (ধরে নিই, আমি আমার বিভাগগুলির কলামগুলি WHEREকোয়েরিজের অংশে নির্দিষ্ট করেছি )।

আমার উত্তর দেওয়ার অনুমান, অভ্যন্তরীণভাবে পার্টিশনটি কীভাবে প্রয়োগ করা হয় তা বুঝতে হবে। আমি কোন পয়েন্টার প্রশংসা করি।

উত্তর:


6

একই ফাইলগ্রুপে একটি টেবিল বিভক্ত করার দুটি সুবিধা রয়েছে:

  1. আরও বেশি দক্ষ রক্ষণাবেক্ষণের অনুমতি দিয়ে বৃহত সূচকের অংশগুলি ক্রমবর্ধমান পুনর্নির্মাণের অনুমতি দিচ্ছে। ALTER INDEX [foo] REBUILD PARTITION=nআরও বিশদ জন্য পর্যালোচনা ।
  2. পার্টিশন নির্মূলকরণ এবং (সম্ভবত) পার্টিশন স্তর লকিংয়ের উত্সটি ক্যোয়ার রক্ষণাবেক্ষণের উন্নতি করতে। আমি আমার ব্লগে এটি আলোচনা ।

আপনি বিভাজন করছেন এমন কিছু বিষয় মনে রাখতে হবে।

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

আমি এটি প্রয়োগের পূর্বে বিভাজন সম্পর্কে কিছু গভীর গবেষণা করার পরামর্শ দিচ্ছি। কেন্দ্র লিটলের এমন উত্সগুলির একটি দুর্দান্ত তালিকা রয়েছে যেখানে আপনি শুরু করতে পারেন।


যদি আমি ক্লাস্টারড ইনডেক্সটি পার্টিশন করে ফেলেছি, সমস্ত নন-ক্লাস্টারযুক্ত সূচিতে ইতিমধ্যে একটি সারি লোকেটার হিসাবে বিভাজন কলামটি থাকে না?
জিকাটো

0

উত্তরটি হল হ্যাঁ". এটিতে যে কোনও প্রশ্নের জন্য একটি প্রক্রিয়া রয়েছে যা পার্টিশনগুলি সংজ্ঞায়িত করার জন্য ব্যবহৃত যুক্তির ভিত্তিতে ইনপুটগুলি ফিল্টার করে।

আপনার কাছে উপযুক্ত ফিল্টার থাকতে হবে, বা সমস্ত পার্টিশন স্ক্যান করা হবে। পার্টিশনটি বেছে নেওয়ার জন্য এটিতে সাধারণত তারিখ ফিল্টার (আপনার ক্ষেত্রে) অন্তর্ভুক্ত থাকে।

এটি প্রয়োগের একটি উপায় হল ভিউতে সঠিক যুক্তি সহ কেবলমাত্র একটি বিভাগে অ্যাক্সেস রয়েছে এমন দৃষ্টিভঙ্গি।


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