এসকিউএল সার্ভার ২০০৮-এ সর্বাধিক সারণীর ক্ষমতা


11

আমার কাছে একটি অ্যাপ্লিকেশন রয়েছে যা প্রতি বছরে 1 বিলিয়নের বেশি সারি সারণিতে সন্নিবেশ করে। এই টেবিলটিতে কিছু varcharএবং bigintকলাম এবং একটি ব্লব কলামও রয়েছে।

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

এই লিঙ্কে উল্লিখিত ডেটা ফাইলের আকারটি কি টেবিলের ডেটা ফাইল গ্রুপকে বোঝায়?


@ মারক_স এটি ধরার জন্য ধন্যবাদ দ্য হিপগুলিতে আমাদের সাথে বিনা দ্বিধায় যোগদান করুন যেখানে অন্যান্য বিষয়ের সাথে আমরা
এগুলিতে

প্রতিটি সারির সর্বোচ্চ আকার কত?
নিক চ্যামাস

উত্তর:


6

ডিস্কের জায়গা ছাড়া কোনও ব্যবহারিক সীমা নেই। আপনি সম্পূর্ণরূপে সংযুক্ত টেবিলটি পড়েছি এবং এটি পরীক্ষা করেছি।

আপনার যদি 16 টিবির উপরে যেতে হয় তবে আপনার একাধিক ফাইল (একটি সহজ পদ্ধতি) দরকার।


আমি অনুমান করি যে টেবিলটি বিভক্ত করে এবং বিভিন্ন ফাইল গ্রুপ ব্যবহার করার জন্য পার্টিশন তৈরি করার মাধ্যমে এটি অর্জন করা যেতে পারে, আমি যদি সঠিক?
জিএপি

1
এটি এমনকি প্রয়োজনীয় নয়। কেবলমাত্র একটি নতুন ফাইল যুক্ত করুন (বিদ্যমান ফাইল গ্রুপে)। এসকিউএল সার্ভার সমানভাবে সমস্ত ফাইল পূরণ করতে শুরু করবে। যদি একটি ফাইল আর বাড়তে না পারে তবে এটি কেবল অন্য ফাইলটি বাড়বে।
usr ডিরেক্টরির

2

স্ক্যুয়াল সার্ভার ২০০৮-এর একটি টেবিলটি প্রচুর পরিমাণে রেকর্ড পরিচালনা করতে পারে এবং @ যেমনটি উল্লেখ করেছেন যে এটি ডিস্কের জায়গার উপর নির্ভর করে তবে এটির প্রস্তাবিত যে যদি আপনার টেবিলটিতে অনেকগুলি সারি থাকে এবং এটি ক্রমবর্ধমান থাকে যে আপনি পার্টিশনযুক্ত টেবিল http://technet.microsoft ব্যবহার করেন । কম / en-US / লাইব্রেরি / dd578580 (উ = sql.100) .aspx

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

এটি সম্পর্কে আরও তথ্য

http://msdn.microsoft.com/en-us/library/ms190787.aspx

এবং এটি কীভাবে বাস্তবায়ন করতে হয় http://blog.sqlauthority.com/2008/01/25/sql-server-2005-database-table-partitioning-tutorial-how-to-horizontal-partition-database-table/


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

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

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

আমি আমার ইতিহাসের ডেটাটি আলাদা টেবিলে সরিয়ে নিয়ে একটি ইউনিয়ন দৃশ্য তৈরি করার কথা ভাবছিলাম যাতে কোয়েরি ইতিহাসের প্রয়োজন হলে এটি অ্যাপ্লিকেশন দ্বারা ব্যবহার করা যেতে পারে + সর্বশেষ ডেটা যা আমার সিস্টেমে থাকা প্রায় 25% এরও কম। এটি কি একাধিক ডেটা ফাইল থাকা বা কলামের ভিত্তিতে সারণী বিভাজনের চেয়ে আরও কার্যকর হবে যা ডেটাটিকে সর্বশেষ হিসাবে চিহ্নিত করে? আইও অপারেশন থেকে কোনটি আরও কার্যকর হবে? আমার সন্দেহের কারণ এটি উভয় সমাধানে আইও দৃষ্টিকোণ থেকে একই হবে same
জিএপি

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

0

সম্ভবত একটি পার্টিশন করা ভিউ কাজ করবে।

থেকে ব্যবহার বিভক্ত দেখুন দুটিই MSDN ধারা :

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

আমি নিশ্চিত নই যে এটি কোনও পার্টিশনযুক্ত টেবিলের থেকে কীভাবে পৃথক রয়েছে যা আম্মারআর তার উত্তরে তথ্য সরবরাহ করেছিল।

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