উত্তর:
ডাটাবেস সংযোগ পুলিং একটি পদ্ধতি যা ডাটাবেস সংযোগগুলি উন্মুক্ত রাখতে ব্যবহৃত হয় যাতে সেগুলি অন্যরা পুনরায় ব্যবহার করতে পারে।
সাধারণত, একটি ডাটাবেস সংযোগ খোলার একটি ব্যয়বহুল ক্রিয়াকলাপ, বিশেষত যদি ডাটাবেস দূরবর্তী হয়। আপনাকে নেটওয়ার্ক সেশনগুলি খুলতে হবে, প্রমাণীকরণ করতে হবে, অনুমোদন চেক করতে হবে, ইত্যাদি। পুলিং সংযোগগুলিকে সক্রিয় রাখে যাতে, পরে যখন কোনও সংযোগের অনুরোধ করা হয়, তখন সক্রিয় সংস্থাগুলির মধ্যে একটিতে অন্যটি তৈরি করার পক্ষে অগ্রাধিকার হিসাবে ব্যবহৃত হয়।
পরবর্তী কয়েকটি অনুচ্ছেদের জন্য নিম্নলিখিত চিত্রটি দেখুন:
+---------+
| |
| Clients |
+---------+ |
| |-+ (1) +------+ (3) +----------+
| Clients | ===#===> | Open | =======> | RealOpen |
| | | +------+ +----------+
+---------+ | ^
| | (2)
| /------\
| | Pool |
| \------/
(4) | ^
| | (5)
| +-------+ (6) +-----------+
#===> | Close | ======> | RealClose |
+-------+ +-----------+
এটি সহজতম ফর্মের মধ্যে, এটি একটি ওপেন-সংযোগ API কলটির অনুরূপ একটি এপিআই কল (1) যা "আসল" এর মতো to এটি প্রথমে উপযুক্ত সংযোগের জন্য পুলটি পরীক্ষা করে (2) এবং যদি একটি উপলব্ধ থাকে তবে তা ক্লায়েন্টকে দেওয়া হয়েছে। অন্যথায় একটি নতুন তৈরি করা হয় (3)।
একটি "উপযুক্ত সংযোগ" হ'ল এমন একটি যা ইতিমধ্যে সঠিক তথ্য (যেমন ডাটাবেস উদাহরণ, শংসাপত্র এবং সম্ভবত অন্যান্য জিনিস) ব্যবহার করে ডাটাবেসে অ্যাক্সেস পেয়েছে ।
একইভাবে, একটি ঘনিষ্ঠ এপিআই কল রয়েছে (4) যা প্রকৃত নিকটবর্তী সংযোগকে কল করে না , বরং এটি পরে ব্যবহারের জন্য পুলটিতে সংযোগ স্থাপন করে (5)। এক পর্যায়ে পুলে সংযোগ করা যেতে পারে আসলে বন্ধ (6)।
এটি একটি দুর্দান্ত সরল ব্যাখ্যা। বাস্তব বাস্তবায়নগুলি একাধিক সার্ভার এবং একাধিক ব্যবহারকারীর অ্যাকাউন্টগুলিতে সংযোগগুলি পরিচালনা করতে সক্ষম হতে পারে, তারা সংযোগগুলির কিছু বেসলাইন প্রাক-বরাদ্দ করতে পারে তাই কিছু তত্ক্ষণাত্ প্রস্তুত থাকে এবং ব্যবহারের প্যাটার্নটি শান্ত হয়ে গেলে তারা প্রকৃতপক্ষে পুরানো সংযোগগুলি বন্ধ করতে পারে।
চিত্রগুলি হাজার শব্দ বলে (প্যাক্সিডিয়াবল একটি দুর্দান্ত বর্ণনা দিয়েছেন):
আপনি সংযোগ পুলিং বাস্তবায়নের জন্য অ্যাপাচি কমন্স লাইব্রেরিটি স্বচ্ছভাবে ব্যবহার করতে পারেন: http://commons.apache.org/dbcp/
ডিবিসিপি হ'ল হাইবারনেট পুল: http://www.informit.com/articles/article.aspx?p=353736&seqNum=4
সংযোগ পুলিং ধারণাটি কেবল জাভাতে নয়, বহু প্রোগ্রামিং ভাষা জুড়ে। একটি নতুন সংযোগ অবজেক্ট তৈরি করা ব্যয়বহুল তাই একটি ভার্চুয়াল পুল জাভা জাস্ট ( http://javajust.com/javaques.html ) তৈরি করে লাইফসাইকেলে সংখ্যার নির্দিষ্ট সংযোগ তৈরি এবং রক্ষণাবেক্ষণ করা হয় এই পৃষ্ঠায় প্রশ্ন 14 দেখুন