একটি ছবিতে এইচবিএস এবং এইচডিএফএস উভয়ই
বিঃদ্রঃ:
এইচডিএফস এবং হ্যাডোপ এইচডিএফএস উভয়ই সহকারে ক্লাস্টারে ডেটানোড (সংঘবদ্ধ অঞ্চল সার্ভার) এবং নেমনোডের মতো এইচডিএফএস রাক্ষণগুলি (সবুজায় হাইলাইটেড) পরীক্ষা করুন
এইচডিএফএস হ'ল একটি বিতরণ ফাইল সিস্টেম যা বড় ফাইলগুলির স্টোরেজের জন্য উপযুক্ত। যা ফাইলগুলিতে দ্রুত স্বতন্ত্র রেকর্ড লুকআপ সরবরাহ করে না।
HBase অন্যদিকে, HDFS উপরে নির্মিত এবং বৃহৎ টেবিলের জন্য ফাস্ট রেকর্ড লুক-(এবং আপডেট) উপলব্ধ করা হয়। এটি কখনও কখনও ধারণাগত বিভ্রান্তির একটি বিষয় হতে পারে। এইচবিজে অভ্যন্তরীণভাবে আপনার ডেডিকে ইনডেক্সড "স্টোরফাইলেস" এ রাখে যা উচ্চ গতির অনুসন্ধানের জন্য এইচডিএফএসে বিদ্যমান।
এটি কেমন দেখাচ্ছে?
ঠিক আছে, পরিকাঠামো পর্যায়ে, গুচ্ছের প্রতিটি সালভ মেশিনে নিম্নলিখিত রাক্ষস রয়েছে
- অঞ্চল সার্ভার - এইচবেস
- ডেটা নোড - এইচডিএফএস
লুকআপের সাথে এটি কীভাবে দ্রুত?
এইচবিএস নিম্নলিখিত ডেটা মডেলটি ব্যবহার করে এইচডিএফএস (কখনও কখনও অন্যান্য বিতরণকৃত ফাইল সিস্টেমগুলি) অন্তর্নিহিত স্টোরেজ হিসাবে দ্রুত অনুসন্ধানগুলি অর্জন করে
টেবিল
- একটি HBase সারণীতে একাধিক সারি রয়েছে।
সারি
- এইচবিজে একটি সারিটিতে একটি সারি কী এবং তার সাথে যুক্ত মানগুলির সাথে এক বা একাধিক কলাম রয়েছে। সারিগুলি সংরক্ষণের সাথে সাথে সারি কী দ্বারা বর্ণমালা অনুসারে বাছাই করা হয়। এই কারণে, সারি কীটির নকশাটি অত্যন্ত গুরুত্বপূর্ণ। লক্ষ্যটি এমনভাবে ডেটা সংরক্ষণ করা যাতে সম্পর্কিত সারিগুলি একে অপরের কাছাকাছি থাকে। একটি সাধারণ সারি কী প্যাটার্ন হ'ল একটি ওয়েবসাইট ডোমেন। যদি আপনার সারি কীগুলি ডোমেন হয় তবে আপনার সম্ভবত এগুলি বিপরীতে সংরক্ষণ করা উচিত (org.apache.www, org.apache.mail, org.apache.jira)। এইভাবে, অ্যাপাচি ডোমেনের সমস্তগুলি সাবডোমেনের প্রথম অক্ষরের ভিত্তিতে ছড়িয়ে দেওয়ার পরিবর্তে টেবিলের একে অপরের কাছে রয়েছে।
স্তম্ভ
- এইচবেসে একটি কলামে একটি কলাম পরিবার এবং একটি কলামের যোগ্যতা রয়েছে, যা একটি: (কোলন) চরিত্র দ্বারা সীমিত করা হয়।
কলাম পরিবার
- কলাম পরিবারগুলি প্রায়শই পারফরম্যান্সের কারণে শারীরিকভাবে কলাম এবং তাদের মানগুলির একটি সেট সেট করে। প্রতিটি কলাম পরিবারে স্টোরেজ বৈশিষ্ট্যের একটি সেট থাকে যেমন এর মানগুলিকে মেমরিতে ক্যাশ করা উচিত কিনা, তার ডেটা কীভাবে সংকুচিত করা হয় বা এর সারি কীগুলি এনকোড করা হয় এবং অন্যান্য and টেবিলের প্রতিটি সারিতে একই কলাম পরিবার থাকে, যদিও প্রদত্ত সারিতে প্রদত্ত কলাম পরিবারে কোনও কিছু সংরক্ষণ করা যায় না।
কলামের যোগ্যতা অর্জনকারী
- প্রদত্ত তথ্যের টুকরো সূচক সরবরাহ করতে একটি কলাম পরিবারে একটি কলাম যোগ্যতা যুক্ত করা হয়েছে। একটি কলাম পারিবারিক বিষয়বস্তু দেওয়া, একটি কলাম যোগ্যতা সামগ্রী হতে পারে: এইচটিএমএল এবং অন্যটি হতে পারে বিষয়বস্তু: পিডিএফ। যদিও কলাম পরিবারগুলি টেবিল তৈরির সময় স্থির করা হয়েছে, কলামের যোগ্যতাগুলি পরিবর্তনযোগ্য এবং সারিগুলির মধ্যে খুব বেশি পৃথক হতে পারে।
কোষ
- একটি ঘরটি সারি, কলাম পরিবার এবং কলামের যোগ্যতাগুলির সমন্বয় এবং এতে একটি মান এবং একটি টাইমস্ট্যাম্প থাকে যা মানটির সংস্করণটি উপস্থাপন করে।
টাইমস্ট্যাম্প
- একটি টাইমস্ট্যাম্প প্রতিটি মান পাশাপাশি লেখা হয় এবং একটি মান একটি প্রদত্ত সংস্করণ জন্য সনাক্তকারী। ডিফল্টরূপে, টাইমস্ট্যাম্পটি ডেটা লেখার সময় অঞ্চলসভারের সময়কে উপস্থাপন করে তবে আপনি যখন ঘরে ঘরে ডেটা রাখেন তখন আপনি একটি আলাদা টাইমস্ট্যাম্প মানটি নির্দিষ্ট করতে পারেন।
ক্লায়েন্ট পড়ার অনুরোধ প্রবাহ:
উপরের ছবিতে মেটা টেবিলটি কী?
সমস্ত তথ্যের পরে, এইচবিতে পঠিত প্রবাহ হস্তক্ষেপে এই সত্তাগুলি স্পর্শ করে
- প্রথমে, স্ক্যানারটি ব্লক ক্যাশে সারি কক্ষগুলি সন্ধান করে - পঠন-ক্যাশে। সম্প্রতি পঠন মূল মানগুলি এখানে ক্যাশে করা হয়, এবং মেমরির প্রয়োজন হলে সর্বশেষে ব্যবহৃত ব্যবহারগুলি উচ্ছেদ করা হয়।
- এর পরে, স্ক্যানারটি মেমস্টোরগুলিতে দেখায় , সর্বাধিক সাম্প্রতিক মেমরির লেখার ক্যাশে।
- যদি স্ক্যানারটি মেমস্টোর এবং ব্লক ক্যাশে সমস্ত সারি কক্ষগুলি সন্ধান করে না, তবে এইচবেস ব্লক ক্যাশে সূচকগুলি এবং মেমরিতে এইচএফাইলস লোড করতে ব্লুম ফিল্টার ব্যবহার করবে , এতে লক্ষ্য সারি কোষ থাকতে পারে।
উত্স এবং আরও তথ্য:
- এইচবিজে ডেটা মডেল
- HBase আর্কিটেকুট