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

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

গুগল প্রধানত তিনটি ভাগে বিভক্ত:
১। গুগলবট
২। ইনডেক্সার
৩। কুয়েরী প্রসেসর

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

গুগলবট নতুন ইউআরএল সংগ্রহ করে প্রধানত দুইটি উপায়ে
১। http://www.google.com/addurl.html এই পাতায় সাবমিট করা পেজ।
২। ওয়েব ক্রলিং এর মাধম্যে।

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


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

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

১৯৯৮ সালে গুগল ব্যবহৃত যন্ত্রপাতিগুলো ছিল:

*দুইটে ডুয়েল পেন্টিয়াম টু প্রসেসর ৩০০ মেগাহার্জ সার্ভার যাদের ছিল মেগাবাইট ৫১২ মেগাবাইট RAM
*চারটি প্রসেসর যুক্ত ৫১২ মেগাবাইট RAM এর একটি F50 IBM RS6000 কম্পিউটার
*একটি ডুয়েল প্রসেসর Sun Ultra II ৫১২ মেগাবাইট RAM যুক্ত কম্পিউটার।
*কয়েকটি হার্ডডিস্ক, প্রতিটি ৪ থেকে ৯ গিগাবাইট। মোট ৩৫০ গিগাবাইট ।

বর্তমানে গুগলের রয়েছে বিশ্বের বিভিন্ন স্হানে কয়েকলক্ষ সার্ভার ।মোট ডাটার পরিমান প্রায় ৩০০ টেরাবাইট। ২০০৪ সাল থেকে গুগল ইন্টেলের পরিবর্তে AMD প্রসেসর ব্যবহার করছে বিদ্যূত সাশ্রয়ের জন্য।

***ইন্টারনেট থেকে সংগ্রহ ও অনুবাদকৃত
|
This entry was posted on 10:55 AM and is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

0 comments: