এসকিউএল সার্ভার পার্টিশন - পার্টিশন কী ব্যবহার করতে হবে?


10

আমি এসকিউএল সার্ভার বিভাজন নিয়ে কখনও কাজ করি নি তবে বর্তমানে আমি একটি ডাটাবেস ডিজাইনের মুখোমুখি হয়েছি যার জন্য ভলিউম সম্ভবত এটির ওয়ারেন্ট দেয়। সিস্টেমটি কুপনের জন্য। কুপনগুলি পর্যায়ক্রমে প্রতি ছয় সপ্তাহে জারি করা হয় যদিও অ্যাড-হক জারিও থাকবে - যেমন একটি বিশেষ ইভেন্টের জন্য। এখানে 15 মিলিয়ন গ্রাহক রয়েছে এবং প্রতিটি জারি ইভেন্টের জন্য, প্রতিটি গ্রাহক মোট 90 মিলিয়ন কুপন উদাহরণ প্রদান করে different টি বিভিন্ন কুপনের প্রকার পাবেন। আমাদের কুপন ইনস্ট্যান্স রিডিম্পশন ডেটা ট্র্যাক করতে হবে এবং এটি 6 মাস ধরে রাখতে হবে, যদিও সাধারণত একটি কুপন কেবল ছয় সপ্তাহের জন্য বৈধ। কোনও অবৈধ কুপনের জন্য কোনও মুক্তির অনুরোধ ডাটাবেসে পৌঁছাবে না কারণ এটি পস দ্বারা বৈধ হয়ে থাকবে।

ছয় মাসের সময়কালে আমাদের কুপন ইনস্ট্যান্স টেবিলটিতে 360 মিলিয়ন সারি এবং রিডিম্পশন টেবিলটিতে 72 মিলিয়ন (সর্বোচ্চ 20% ছাড়ের হার অনুমান করে) সংরক্ষণ করতে হবে। আমি অনুভূতি পেতে পারি যে এই সংখ্যাগুলি একটি একক বিভাজনের জন্য খুব বেশি?

আমার প্রশ্ন - পার্টিশন কী হিসাবে কী ব্যবহার করবেন? একজন সুস্পষ্ট প্রার্থী জারির ইভেন্ট দ্বারা প্রায় 6 টি পার্টিশন প্রদান করবেন। তবে আমি মনে করি যে এমনকি এটি একটি পার্টিশন আকার দিতে পারে যা সর্বোত্তম পারফরম্যান্সের অনুমতি দেয় না? গ্রাহক আইডির ইস্যু + শেষ সংখ্যা দ্বারা দুটি কী দ্বারা ভাগ করা সম্ভব? সুতরাং যুক্তিটি হ'ল:

If issuance event = 1 and last digit of customer id < 5 then
    Store in partition 1
Else if issuance event = 1 and last digit of customer id >4 then
    Store in partition 2
Else if issuance event =2 and last digit of customer id <5 then
    Store in partition 3
Else if issuance event =2 and last digit of customer id >4 then
    Store in partition 4
Etc...

এছাড়াও, আমাদের যে ডাটাবেস সার্ভারের প্রয়োজন হবে সে সম্পর্কে আমি নিশ্চিত নই। 16 জিবি এবং 8 সিপিইউ কি যথেষ্ট হবে? অর্ধেক সেকেন্ডেরও কমের মধ্যে একটি সংখ্যা বারকোড মানকে কেন্দ্র করে কুপন ইনস্ট্যান্স টেবিল থেকে ডিবিকে একটি ফলাফল ফিরিয়ে আনতে সক্ষম হতে হবে। বৈধতা (নির্বাচন) এবং রিডিম (সন্নিবেশ) এর জন্য প্রত্যাশিত লেনদেনের অনুরোধটি প্রতি মিনিটে প্রায় 3,500 শৃঙ্খলা অর্জন করবে বলে আশা করা হচ্ছে।

এসকিউএল সার্ভার 2008r2 64 বিবিটি ডিবি সার্ভারকে একটি উচ্চ কার্যকারিতা এবং বৃহত ক্ষমতার সান অ্যাক্সেস সহ খুব শক্তিশালী হোস্ট থেকে ভিএম হিসাবে সরবরাহ করা হবে।

যারা অনুরূপ খণ্ডগুলি পরিচালনা করতে এসকিউএল সার্ভার সমাধান স্থাপন করেছেন তাদের কাছ থেকে প্রাপ্ত পরামর্শের জন্য আমি খুব কৃতজ্ঞ হব be

শুভেচ্ছা সহ

রব।


2
আপনার টেবিলগুলি এখনও ছোট - পার্টিশনের প্রয়োজন নেই, আমার বিভাজন ছাড়াই কয়েক বিলিয়ন সারি নিয়ে একটি টেবিল রয়েছে। পার্টিশনগুলি দ্রুত ড্রপের জন্য দুর্দান্ত।
টমটম

1
টমটম বাজে কথা, পার্টিশনগুলি এর একটি অংশকে গণ্য করে সারিতে পার্টিশনের পক্ষে উপকারী হতে পারে। পারফরম্যান্স লাভ বুঝতে পারার জন্য পার্টিশন স্কিমটি অ্যাক্সেস প্যাটার্নগুলির পক্ষে উপকারী হতে হবে তবে এই আকারে একটি কম্বল "কোনও প্রয়োজন নেই" স্পষ্টত ভুল।
মার্ক স্টোরি-স্মিথ

1
না, এটা ঠিক আছে। প্রয়োজন! = সুবিধা যখন আপনি পার্টিশন ছাড়াই ক্যোয়ারী করতে সমস্যা শুরু করেন তখন প্রয়োজন হয়।
টমটম

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

উত্তর:


14

সার্ভার স্পেস প্রশ্নগুলি সার্ভারফল্ট বা ডিবিএ.এস.ই.

বিভাজন প্রশ্নের জন্য, আমি মনে করি না যে এটির জন্য আপনার অবশ্যই অবিচ্ছেদ্য প্রয়োজন।

M০০০ মিটার সারি অনেক তবে এটি খুব বেশি অনস্বাস্থ্যের মতো নয়।

কোনও পরিস্থিতিতে কোনও ক্ষেত্রের শেষ অঙ্কের ভিত্তিতে বিভাজনের চেষ্টা করবেন না । আমি নিশ্চিত না যে এটি এমনকি কার্যকর হবে, তবে এটি সারগেবল নয় যা টেকসই হবে না।

যদি আপনার কেবল একটি সংখ্যার কীটির উপর ভিত্তি করে একটি সারি সন্ধান করতে হয় তবে বিভাজন সম্ভবত কার্যকর হবে না will

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



আমিও একমত কখনও কখনও আপনার আরও ভাল সূচক প্রয়োজন।
jcolebrand

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

রেকর্ডের জন্য, আপনার অন্যান্য পয়েন্টগুলিতে আমি আন্তরিকভাবে সম্মত :)
মার্ক

@ মার্কস্টোরী-স্মিথ - এটি তার চাবি নির্ভর করে। যেমনটি ওপি-তে সংজ্ঞায়িত হয়েছে পার্টিশনের কোনও মান যুক্ত হবে না। এটির মতো শোনা যাচ্ছে যে তিনি কোনও তারিখের ক্ষেত্র বা "সাধারণ" পার্টিশন স্কিম সহ একটি দ্বি-অংশ কী ব্যবহার করতে পারবেন না।
জেএনকে

5

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

  • পার্টিশন কী ডেটা পড়ার ক্ষেত্রে দরকারী যখন পার্টিশন কীটি এসকিউএল স্টেটমেন্টের অংশ হয়, যা অপটিমাইজারকে পার্টিশন বাদ দেওয়ার জন্য সহায়তা করে। আপনার অবশ্যই নিশ্চিত হওয়া উচিত যে আপনার চয়ন করা কীটি বেশিরভাগ প্রশ্নের জন্য কার্যকর eries

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


4

আপনার প্রয়োজনগুলি আরও কিছুটা স্পষ্টভাবে সংজ্ঞায়িত করা দরকার। আপনি উল্লেখ করেছেন যে আপনার 6 মাসে প্রায় 360 মিলিয়ন সারি থাকবে। কিভাবে 2 বছরের সময় সম্পর্কে? আপনি কি কেবল বর্তমানে যে হারে বাড়ছেন তা কি এখনও বাড়বে? বা এমন কোনও সম্ভাবনা রয়েছে যা আপনি ঘনিষ্ঠভাবে বৃদ্ধি পেতে পারেন experience আপনি কি এই টেবিলটিতে চিরতরে ডেটা রাখতে চান; বা আপনি কি নিয়মিতভাবে ডেটা সংরক্ষণাগার রাখতে চান?

পার্টিশনটি ডেটা সংরক্ষণাগার জন্য ব্যবহার করা যেতে পারে। স্লাইডিং উইন্ডো দৃশ্য দেখুন। এই শ্বেতপত্র এবং এটি দেখুন ।

বিভাজন এছাড়াও সূচি বিভাজন পরিচালনা করতে ব্যবহার করা যেতে পারে। আপনি নির্দিষ্ট পার্টিশনগুলি পুনর্নির্মাণ / পুনর্গঠন করতে পারেন।

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

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

এটি ব্যবহার করে দেখুন পার্টিশন প্রণালী Kimberly Tripp থেকে মহান ভিডিও


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

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

-2

পুরানো ডেটা সংরক্ষণাগারবদ্ধ করার কারণে আপনি বিভাজন না করলে আপনি ভুল কারণে এটি করছেন এবং এটি করা উচিত নয়।


2
সংরক্ষণাগারভুক্ত পার্টিশন ব্যবহার করার অনেক কারণ রয়েছে; সঠিকভাবে ব্যবহার করা হলে পার্ট বর্জনীয় বিভিন্ন ধরণের প্রশ্নের জন্য খুব উপকারী।
স্টুয়ার্ট আইনওয়ার্থ

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