HBase আর্কিটেকচারের উপর অন্তর্দৃষ্টি



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

আজকের পোস্টে আসুন HBase আর্কিটেকচার সম্পর্কে আলোচনা করা যাক। আসুন আমরা এইচবিজে আর্কিটেকচারের আরও গভীরতার আগে।





এইচবেস - মূল বিষয়গুলি:

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

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



কিভাবে জাভা ছাঁটাই

কলাম-ওরিয়েন্টেড ডাটাবেসগুলিতে, ডাটা সারণি ডেটার সারিগুলির পরিবর্তে ডেটা কলামের বিভাগ হিসাবে সংরক্ষণ করা হয়। কলামমুখী ডাটাবেসের ডেটা মডেলটিতে সারণির নাম, সারি কী, কলাম পরিবার, কলাম, সময় স্ট্যাম্প থাকে। এইচবেসে টেবিল তৈরি করার সময়, সারি কীগুলি এবং টাইম স্ট্যাম্পের সাহায্যে সারিগুলি অনন্যভাবে চিহ্নিত করা হবে। এই ডেটা মডেলটিতে কলাম পরিবার স্থির এবং কলামগুলি গতিশীল। এখন আসুন HBase আর্কিটেকচারটি খতিয়ে দেখি।

এইচবাসে কখন যাব?

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

HBase আর্কিটেকচার:

নিম্নলিখিত চিত্রটি HBase আর্কিটেকচারের স্পষ্টভাবে ব্যাখ্যা করে।



HBase আর্কিটেকচারের উপর অন্তর্দৃষ্টি

এইচবেসে, প্রধানত তিনটি উপাদান রয়েছে: মাস্টার, অঞ্চল সার্ভার এবং চিড়িয়াখানা রক্ষক অন্যান্য উপাদানগুলি হ'ল মেমস্টোর, এইচফাইল এবং ওয়াল।

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

অঞ্চল সার্ভার:

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

মেমস্টোর কী করে?

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

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

জাভা ডাবল থেকে ইন রাউন্ড

প্রতিবার মেমস্টোর ফ্লাশ ঘটে প্রতিটি সিএফ এর জন্য তৈরি একটি এইচফিল এবং ঘন ঘন ফ্লাশগুলি টন এইচএফাইল তৈরি করতে পারে। যেহেতু এইচবাসে পড়ার সময় অনেকগুলি এইচএফাইলগুলি দেখতে হবে, তাই পড়ার গতির ক্ষতি হতে পারে। অনেকগুলি এইচএফাইলস খোলার রোধ করতে এবং পড়ার পারফরম্যান্সের অবনতি এড়াতে, এইচফিলস সংযোগ প্রক্রিয়া ব্যবহৃত হয়। HBase পর্যায়ক্রমে (যখন নির্দিষ্ট কনফিগারযোগ্য থ্রেশহোল্ডগুলি পূরণ করা হয়) একাধিক ছোট HFiles কে একটি বড় আকারে রূপ দেয় act স্পষ্টতই, মেমস্টোর দ্বারা নির্মিত আরও ফাইলগুলি ফ্লাশ হয়, সিস্টেমের জন্য আরও কাজ (অতিরিক্ত বোঝা)। যোগ করা হয়েছে, কমপ্যাকশন প্রক্রিয়াটি সাধারণত অন্যান্য অনুরোধগুলি সরবরাহ করার সাথে সমান্তরালভাবে সঞ্চালিত হয় এবং যখন এইচবিজে এইচএফাইলসকে কমপ্যাক্ট করতে না পারে (হ্যাঁ, এটির জন্য কনফিগার থ্রোহোল্ডগুলিও রয়েছে), এটি আরএসে আবার লেখার ক্ষেত্রে ব্লক করবে। যেমনটি আমরা উপরে আলোচনা করেছি, এটি অত্যন্ত অনাকাঙ্ক্ষিত।

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

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

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

চিড়িয়াখানা রক্ষক:

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

আমাদের জন্য একটি প্রশ্ন আছে? তাদের মন্তব্য বিভাগে উল্লেখ করুন এবং আমরা আপনার কাছে ফিরে আসব।

জাভা টোকেন কি?

সম্পর্কিত পোস্ট:

সহায়ক হিভ কমান্ড