কি সংস্থানগুলি "ব্যয়বহুল" করে তোলে?


10

আমি হাইবারনেট পড়ছি এবং আমি "একাধিক অনুরোধ জুড়ে জেডিবিসি সংযোগগুলি খুলে দেওয়া ভাল জিনিস নয় কারণ এটি একটি ব্যয়বহুল সংস্থান" statements

ব্যয়বহুল সংস্থান বলতে কী বোঝায়?

সম্পাদনা: নীচে একটি মন্তব্য হিসাবে ব্যবহারকারী অজানা যা যুক্ত করেছে তা আমি যুক্ত করছি।

যদি ডাটাবেস সংযোগ স্থাপন ব্যয়বহুল হয়, তবে কেন এটি বন্ধ করে এবং প্রতিবার এটি খোলার পরিবর্তে বার বার একই জিনিস ব্যবহার করা হবে না (ক্যাশিং নয়)?


2
ব্যয়বহুল অর্থ হ'ল আপনি যদি এটি নির্দিষ্টভাবে ব্যবহার না করে বা ঘন ঘন ব্যবহার করেন তবে এটি আপনার ক্ষতি করবে
আলেকজান্ডার গেসলার

উত্তর:


20

একটি ব্যয়বহুল সংস্থান হ'ল:

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

প্রতিটি ব্যয়বহুল সংস্থান সরবরাহ করতে পারে স্কেলেবিলিটি সমস্যা সরবরাহ পারে। সংক্ষেপে, আপনার একই সময়ে এই ব্যয়বহুল ক্রিয়াকলাপগুলি খুব বেশি সংঘটিত হতে পারে না বা আপনি আপনার ব্যবহারকারীদের দ্রুত পর্যাপ্ত সাড়া দিতে পারবেন না।


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

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

5

এটি নির্দিষ্ট সংস্থার উপর নির্ভরশীল বিভিন্ন জিনিস হতে পারে। সুতরাং আপনার নিম্নলিখিত হতে পারে:

  • এটি পরিচালনা করতে কত স্মৃতি দরকার।
  • সংযোগ তৈরি করতে সময় নেওয়া।
  • যে সংযোগ বজায় রাখার ক্ষেত্রে ওভারহেড।

ইত্যাদি।

অন্যান্য জিনিস যা ব্যয়বহুল করে তুলতে পারে এটির জন্য যদি হার্ড ড্রাইভে অ্যাক্সেস প্রয়োজন হয় বা নেটওয়ার্ক চলাকালীন হয় etc.


2

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


2

ডাটাবেস সংযোগ ব্যয় বিভিন্ন কারণ থেকে আসে।

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

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

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