Articles

ফেসবুকের নৈপথ্যের পথে যত সফটওয়্যারর

আমাদের দৈনন্দিন জীবনের সবথেকে বেশি ব্যবহৃত একটি ওয়েবসাইট বা সোশ্যাল মিডিয়া হল ফেসবুক। ফেসবুক এখোনো পর্যন্ত ব্যবহৃত সব ওয়েবসাইট এর তালিকায় ৩য় অবস্থানে রয়েছে(বিস্তারিত) . এ পর্যন্ত ফেসবুকে রয়েছে ২ বিলিয়ন এর ও বেশি ইউজার এবং যা প্রতি সেকেন্ডে ৮ জন করে বৃদ্ধি পায়। আমরা ইন্টারনেট ব্যবহার করে থাকি অথচ ফেসবুকের নাম জানি না এমন মানুষ খুঁজে পাওয়া অসম্ভব। যাইহোক, ফেসবুক সম্পর্কে অবাক করা কিছু তথ্য আগে জেনে নেই।

১। প্রতি সেকেন্ডে ফেসবুকে প্রায় ৩ লক্ষাধিক স্ট্যাটাস আপডেট, ৫ লক্ষ কমেন্ট এবং প্রায় ১.৩ মিলিয়ন ফটো আপলোড হয়ে থাকে।
২। প্রতিদিন ফেসবুক প্রায় ৭০০ মিলিয়ন এর বেশি ফটো সার্ভ করে থাকে।
৩। ফেসবুকে প্রায় ৩০০ মিলিয়ন এর বেশি ফটো পোষ্ট করা হয়ে থাকে।

এরকম আরো অনেক তথ্য জানা যাবে এখানে

ফেসবুকের এই বিশাল তথ্যভান্ডার বা ডেটাবেস এর ম্যানেজমেন্ট এর পিছনে রয়েছে বেশকিছু সফটওয়্যার। যার বদৌলতে ফেসবুক এত বিশাল বা জটিল কাজগুলো এত নিপূনভাবে করে চলেছে। ফেসবুকের পেছনে থাকা এই একেকটি মাস্টারপিস সফটওয়্যার নিয়ে আমরা জানব।

LAMP:

LAMP; Image Source: adminbyaccident.com

মুলত ফেসবুক এখোনো একটি ল্যাম্প সার্ভার। Linux, Apache, MySQL, PHP, Python, Perl এই কয়টি নিয়ে মুলত ল্যাম্প সার্ভার। ফেসবুক বিভিন্ন প্রোগ্রামিং ল্যাঙ্গুয়েজ তাদের ব্যাকএন্ড এ ব্যবহার করলেও মুল সার্ভারটি একটি কাস্টমাইজড LAMP সার্ভার।ফ্রেমওয়ার্ক ইউজ এর জটিলতা আর স্লো কাজ করার দরুন সময়ের ব্যবধানে LAMP Steak ওয়েবসাইটের সংখ্যা ইদানিং কমে গেলেও ফেসবুক নিজেদের ব্যবহারের জন্যে এখোনো ল্যাম্প এর উপর ই ভরসা রাখে।

Memcached:

MEMCACHED; Image Source: deepstreamHub

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

 

HAYSTACK:

HAYSTACK STATISTICS; Image Source: SlideShare

হিস্টাক মুলত ফেসবুকের হাই-পার্ফমেন্স ফটো স্টোরেজ বা সাপ্লাই সেন্টার। এই হিস্ট্যাকে সেইভ আছে প্রায় ৪০ বিলিয়ন ফটো। যার একেকটি বিভিন্ন রেজুলেশন এবং সাইজ এ আলাদা ভাবে আছে। সে হিসেবে ধরতে গেলে প্রায় ১২০ বিলিয়ন এর বেশি একটি ফটো স্টোরেজ ফেসবুকের। ফেসবুকের প্রতি সেকেন্ডে সার্ভ করা ৩ মিলিয়নের বেশি ফটো মুলত এখান থেকেই করা হয়। এত বড় একটি স্টোরেজ এবং সার্ভ এই সফটওয়্যার দিয়ে অনায়াসেই করে চলেছে ফেসবুক। ফেসবুকের ফটো সার্ভ এর বিস্তারিত পাওয়া যাবে হিস্টাকের ২০১৫ এর একটি এনালাইসিস থেকে। যা পাওয়া যাবে এখানে

 

BIGPIPE:

ডাইনামিক ওয়েবপেইজ এর স্পিড বাড়ানোর জন্যে ফেসবুক তৈরি করে এই বিগপাইপ। ফেসবুকের প্রতিটা পেইজ কে আলাদা আলাদা সেকশন করে সার্ভ এবং স্পিড অপটিমাইজ করার জন্যে মুলত বিগপাইপ ব্যবহার করা হয়। এটি ওয়েব সার্ভার এবং ব্রাউজার এর মধ্যেকার রিকুয়েষ্ট এনালাইসিস করে একটি বড় ওয়েবপেইজ কে ছোটছোট সেকশন এ কনভার্ট করে। যার ফলে স্পিড বা পার্ফমেন্স পাওয়া যায় পুর্বের তুলনায় অনেক ভালো। ফেসবুকের একজন ইঞ্জিনিয়ার ২০১০ সালে সর্বপ্রথম এটা নিয়ে লেখেন। সেই লেখাটি পাওয়া যাবে এখানে।

 

HIPHOP FOR PHP:

HIPHOP FOR PHP; Image Source: BEEVA

ফেসবুকের ৩ জন ইঞ্জিনিয়ার এর একটি টিম এটি ডেভেলপ করেন। এটি একটি PHP ট্রান্সপিলার। PHP একটি স্ক্রিপ্টিং ল্যাঙ্গুয়েজ এবং সার্ভারে স্লো কাজ করায় ফেসবুকের এই অনন্য আবিষ্কার। এটি মুলত PHP কে C++ এ রুপান্তর করে। যা সার্ভারে এক্সিকিউট করা হয় বেটার পার্ফোমেন্স এর জন্যে। হিপহপ ফর পিএইচপি কে ওপেন সোর্স করে দেওয়া হয়েছে। যার ফলে যেকেউ এটা ব্যবহার বা ডেভেলপ করতে পারবে। ওপেন সোর্স এই সফটওয়্যারটি পেতে GitHub এ গেলেই চলবে।

 

CASSANDRA:

CASSANDRA; Image Source: Wikipedia

ক্যাসান্ড্রা মুলত NoSQL কনসেপ্ট এর একটি বিশেষ প্রজেক্ট পরে যেটিকে ওপেন সোর্স করে দেওয়া হয়। বর্তমানে এটি একটি Apache প্রজেক্ট। এটি একটি হাই পার্ফমেন্স ডিস্ট্রিবিউটেড স্টোরেজ সিস্টেম। ফেসবুক ক্যাসান্ড্রা কে ইউজ করে থাকতো মুলত ইনবক্স সার্চ এর জন্যে। এর কাজ কমে গেলেও মেসেঞ্জারে এই ক্যাসান্ড্রা কে ইউজ করা হয়েছে কাউকে খুঁজে বের করার কাজে ব্যবহারে। যা আমরা প্রতিদিন ই ব্যবহার করি। ফেসবুক ছাড়াও CISCO, DIGG, NETFLIX, REDDIT এর মত জনপ্রিয় ওয়েবসাইটগুলো ক্যাসান্ড্রা ব্যাবহার করে।

 

এগুলো ছাড়াও ফেসবুক আরো অনেক সফটওয়্যার ব্যবহার করে যার মধ্যে রয়েছে

  1. SCRIBE
  2. HADOOP
  3. THRIFT
  4. VARNISH
  5. XHPROF

ইত্যাদি। যেগুলো ফেসবুকের এত বড় ম্যানেজমেন্টটাকে এত সুন্দরভাবে চালাতে প্রতিনিয়ত কাজ করে যাচ্ছে। আমরা পেয়েছি এত হাই পার্ফমেন্স একটা সোশ্যাল মিডিয়া।  ফেসবুকের টেকনোলজি সম্পর্কে আরো বিস্তারিত জানতে পড়ে আসতে পারেন ফেসবুক ইঞ্জিনিয়ারিং ব্লগের লেখা গুলো। যেগুলো পাওয়া যাবে এখানে।

Source link

Click to comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Most Popular

Copyright © 2018 Do Magazine.

To Top