আমি কি স্মৃতিতে পুরো ডিবি ফিট করতে পারি?


9

আমার ডাটাবেসটি আকারের প্রায় 1gb (আমার ডিবি এর এমডিএফ ফাইল অনুযায়ী)। আমার ডাটাবেস সার্ভারে 4gb র্যাম রয়েছে। সক্রিয় থাকা অবস্থায় কম্পিউটারে মেমরির খরচ দেখে এটি প্রায় 85% ব্যবহৃত হয় (ওএস ইত্যাদি সহ)

এর অর্থ কি এই যে সমস্ত ডিবি পড়ার ক্রিয়াকলাপ একা মেমরিতে কাজ করে (যেমন পুরো ডিবি মেমরিতে বসে)? বা এখনও এমন কোনও মামলা রয়েছে যেখানে এটি ডিস্কে যেতে হবে?


1
ঠিক আছে, তুলনা করার জন্য, অ্যাপ্লিকেশনটি সক্রিয় না থাকলে ব্যবহার কী? সাধারণত, একটি ডাটাবেস সিস্টেমের একটি সুবিধা হ'ল এটির জন্য মেমরির সম্পূর্ণ ফাইলের প্রয়োজন হয় না, তবে আপনি এটি থেকে যা টানবেন তা মেমরিটিতে অন্য কোনও স্থানে ফ্লাশ না করা পর্যন্ত এটি উপযুক্ত হবে। আমি 'না' ঘোষণা করতে যাচ্ছি।
গ্রান্ট থমাস

@জনাব. হতাশা: আমি সম্মত হ'ল এটি একটি উপকার, তবে যে ক্ষেত্রে এটি পুরো ফাইলটিকে মেমরির মধ্যে রাখতে পারে (এই ক্ষেত্রে এর মতো), তা কি হবে?

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

1
দৃষ্টিভঙ্গির উদাহরণ: আমি জানি একটি খুব বড় ইন্টারনেট সংস্থা বেশ কয়েকটি খুব বড় পোর্টাল সাইটগুলির মালিক। তারা সিএ প্রদান করে Port পোর্টালগুলির জন্য তাদের নিজস্ব বিজ্ঞাপনদাতাদের 300 মিলিয়ন বিজ্ঞাপন। বিজ্ঞাপন সার্ভারগুলির কাঠামোটি এমন যে অ্যাকাউন্টিং এবং লক্ষ্যবস্তু করার জন্য সমস্ত তথ্য সহ একটি বড় ওরাকল ডিবি রয়েছে তবে র্যামের মধ্যে 32 টি বড় (32 জিবি র‌্যাম) সার্ভার রয়েছে ছোট ডাটাবেসগুলি (কেবলমাত্র সক্রিয় বিজ্ঞাপনগুলির সাথে) রয়েছে । তারা কোনও ডিস্ক স্পর্শ করে না, তাদের অবশ্যই হবে না: যখন কোয়েরি আসে তখন কোনও বিজ্ঞাপন রাখার জন্য তাদের কেবল 1/1000 সেকেন্ড থাকে, কোনও ডিস্ক অ্যাক্সেস সেই লক্ষ্যে পৌঁছানো অসম্ভব করে দেয়।

উত্তর:


5

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

তবে আপনাকে অনুমান করার দরকার নেই, আপনি এটিকে সঠিকভাবে পরিমাপ করতে পারেন এবং এটি ঘটেছে কিনা তা দেখুন। সম্পর্কিত পারফরম্যান্স কাউন্টারগুলি হ'ল :

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

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

@জনাব. হতাশা: আপনি আমার প্রশ্নের উত্তর আলাদাভাবে প্রয়োগ করছেন। ওপি বলেছেন: My database is about 1gb in size (according to the mdf file of my db). My database server has 4gb of ram.। আপনার যদি 60 টি ওয়েবসাইট রয়েছে এবং কীভাবে বাফার পুল ক্যাশিং সেই ক্ষেত্রে কাজ করে আপনি যদি মামলার উত্তর চান, তবে সেই প্রশ্নটি জিজ্ঞাসা করুন :)
রেমাস রুসানু

আপনি এখানে বিশেষজ্ঞ, তবে দয়া করে আমার জিজ্ঞাসাবাদী প্রকৃতিটি ক্ষমা করুন: সুতরাং এই তত্ত্বটি কি ধরে নিয়েছে (কারণ আমাদের কাছে নির্দিষ্ট ডেটা নেই) যে মেশিনটি অন্য কিছু করছে না? বা অচেনা গ্রাহকরা মেমরির একটি নির্দিষ্ট প্রান্তিক ব্যবহার করছেন?
গ্রান্ট থমাস

আমি যেমন বলেছি: you don't have to guess, you can measure this exactly
রেমাস রুসানু

-5

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

আপনি যে এসকিউএল সার্ভারের চালাচ্ছেন তার উপর নির্ভর করে ডিস্কের পাঠ্য কমাতে ভাল ব্যবহৃত ডেটা ক্যাশে করার কৌশল থাকতে পারে।

আপনি মেমোরি ডিবি পেতে পারেন যেমন মাই এসকিএল ক্লাস্টার ডাটাবেস .... এটি উচ্চ প্রাপ্যতা / দুর্যোগ পুনরুদ্ধার এবং দ্রুত ডেটা পুনরুদ্ধারের জন্য সার্ভারের একটি ক্লাস্টার জুড়ে ENTRE ডিবি মেমরির সাথে ফিট করার জন্য ডিজাইন করা হয়েছে।


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